I don't see how this works. Who calls setLog? The standard way of using loggers is to have each class instantiate its own Logger object, so that the logs correctly indicate the class where the message was generated:
private static final Logger LOG = LoggerFactory.getLogger(SomeTool.class); Other ways of setting an explicit logger should be deprecated/removed. Just my 2 cents. On 11/08/2016 08:41 AM, cbris...@apache.org wrote: > Author: cbrisson > Date: Tue Nov 8 13:41:54 2016 > New Revision: 1768695 > > URL: http://svn.apache.org/viewvc?rev=1768695&view=rev > Log: > [tools] add a generic tool > > Added: > > velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/LogTool.java > Removed: > > velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/log/ > Modified: > > velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/LinkTool.java > > velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/MarkupTool.java > > velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/RenderTool.java > > velocity/tools/trunk/velocity-tools-generic/src/main/resources/org/apache/velocity/tools/generic/tools.xml > > Modified: > velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/LinkTool.java > URL: > http://svn.apache.org/viewvc/velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/LinkTool.java?rev=1768695&r1=1768694&r2=1768695&view=diff > ============================================================================== > --- > velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/LinkTool.java > (original) > +++ > velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/LinkTool.java > Tue Nov 8 13:41:54 2016 > @@ -149,8 +149,6 @@ public class LinkTool extends SafeConfig > */ > protected void configure(ValueParser props) > { > - this.LOG = (Logger)props.getValue(ToolContext.LOG_KEY); > - > String link = props.getString(URI_KEY); > if (link != null) > { > @@ -216,6 +214,11 @@ public class LinkTool extends SafeConfig > } > } > > + public void setLog(Logger log) > + { > + this.LOG = log; > + } > + > /** > * Equivalent to clone, but with no checked exceptions. > * If for some unfathomable reason clone() doesn't work, > > Added: > velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/LogTool.java > URL: > http://svn.apache.org/viewvc/velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/LogTool.java?rev=1768695&view=auto > ============================================================================== > --- > velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/LogTool.java > (added) > +++ > velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/LogTool.java > Tue Nov 8 13:41:54 2016 > @@ -0,0 +1,81 @@ > +package org.apache.velocity.tools.generic; > +/* > + * Licensed to the Apache Software Foundation (ASF) under one > + * or more contributor license agreements. See the NOTICE file > + * distributed with this work for additional information > + * regarding copyright ownership. The ASF licenses this file > + * to you under the Apache License, Version 2.0 (the > + * "License"); you may not use this file except in compliance > + * with the License. You may obtain a copy of the License at > + * > + * http://www.apache.org/licenses/LICENSE-2.0 > + * > + * Unless required by applicable law or agreed to in writing, > + * software distributed under the License is distributed on an > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY > + * KIND, either express or implied. See the License for the > + * specific language governing permissions and limitations > + * under the License. > + */ > + > +import org.apache.velocity.tools.Scope; > +import org.apache.velocity.tools.config.DefaultKey; > +import org.apache.velocity.tools.config.ValidScope; > + > +import org.slf4j.Logger; > + > +/** > + * <p> > + * This tool is used to log from within templates. > + * </p> > + * > + * <p> > + * <pre> > + * Example tools.xml config: > + * <tools> > + * <toolbox scope="application"> > + * <tool class="org.apache.velocity.tools.generic.LogTool"/> > + * </toolbox> > + * </tools> > + * </pre></p> > + * > + * @author Claude Brisson > + * @since VelocityTools 3.0 > + * @version $Id: $ > + */ > +@DefaultKey("log") > +@ValidScope(Scope.APPLICATION) > +public class LogTool > +{ > + private Logger LOG = null; > + > + public void setLog(Logger log) > + { > + this.LOG = log; > + } > + > + public void error(String message) > + { > + LOG.error(message); > + } > + > + public void warn(String message) > + { > + LOG.warn(message); > + } > + > + public void info(String message) > + { > + LOG.info(message); > + } > + > + public void debug(String message) > + { > + LOG.debug(message); > + } > + > + public void trace(String message) > + { > + LOG.trace(message); > + } > +} > > Modified: > velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/MarkupTool.java > URL: > http://svn.apache.org/viewvc/velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/MarkupTool.java?rev=1768695&r1=1768694&r2=1768695&view=diff > ============================================================================== > --- > velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/MarkupTool.java > (original) > +++ > velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/MarkupTool.java > Tue Nov 8 13:41:54 2016 > @@ -26,9 +26,7 @@ import java.util.Map; > > import org.slf4j.Logger; > > -import org.apache.velocity.tools.ToolContext; > import org.apache.velocity.tools.config.DefaultKey; > -import org.apache.velocity.tools.generic.SafeConfig; > > /** > * <b>NOTE: This tools is considered "alpha" quality due to lack of testing > @@ -78,11 +76,11 @@ public class MarkupTool extends SafeConf > /** > * Configuration > */ > - protected void configure(ValueParser props) > + public void setLog(Logger log) > { > - this.LOG = (Logger)props.getValue(ToolContext.LOG_KEY); > + this.LOG = log; > } > - > + > public void setTab(String tab) > { > if (isConfigLocked()) > > Modified: > velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/RenderTool.java > URL: > http://svn.apache.org/viewvc/velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/RenderTool.java?rev=1768695&r1=1768694&r2=1768695&view=diff > ============================================================================== > --- > velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/RenderTool.java > (original) > +++ > velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/RenderTool.java > Tue Nov 8 13:41:54 2016 > @@ -152,8 +152,6 @@ public class RenderTool extends SafeConf > { > this.forceThreadSafe = false; > } > - > - this.LOG = (Logger)parser.getValue(ToolContext.LOG_KEY); > } > > /** > @@ -163,7 +161,14 @@ public class RenderTool extends SafeConf > public void setVelocityEngine(VelocityEngine ve) > { > this.engine = ve; > - this.LOG = ve.getLog(); > + } > + > + /** > + * Allow user to specify a logger. > + */ > + public void setLog(Logger log) > + { > + this.LOG = log; > } > > /** > > Modified: > velocity/tools/trunk/velocity-tools-generic/src/main/resources/org/apache/velocity/tools/generic/tools.xml > URL: > http://svn.apache.org/viewvc/velocity/tools/trunk/velocity-tools-generic/src/main/resources/org/apache/velocity/tools/generic/tools.xml?rev=1768695&r1=1768694&r2=1768695&view=diff > ============================================================================== > --- > velocity/tools/trunk/velocity-tools-generic/src/main/resources/org/apache/velocity/tools/generic/tools.xml > (original) > +++ > velocity/tools/trunk/velocity-tools-generic/src/main/resources/org/apache/velocity/tools/generic/tools.xml > Tue Nov 8 13:41:54 2016 > @@ -30,6 +30,7 @@ > <tool class="org.apache.velocity.tools.generic.DisplayTool"/> > <tool class="org.apache.velocity.tools.generic.EscapeTool"/> > <tool class="org.apache.velocity.tools.generic.FieldTool"/> > + <tool class="org.apache.velocity.tools.generic.LogTool"/> > <tool class="org.apache.velocity.tools.generic.MathTool"/> > <tool class="org.apache.velocity.tools.generic.NumberTool"/> > <tool class="org.apache.velocity.tools.generic.ResourceTool"/> > > -- Sergiu Dumitriu http://purl.org/net/sergiu --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@velocity.apache.org For additional commands, e-mail: dev-h...@velocity.apache.org