Author: cbrisson
Date: Sun Nov 13 15:45:01 2016
New Revision: 1769506
URL: http://svn.apache.org/viewvc?rev=1769506&view=rev
Log:
[tools] let the fx use the 'tools' child logger
Modified:
velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/ToolContext.java
velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/ToolManager.java
velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/config/ConfigurationUtils.java
velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/LogTool.java
Modified:
velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/ToolContext.java
URL:
http://svn.apache.org/viewvc/velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/ToolContext.java?rev=1769506&r1=1769505&r2=1769506&view=diff
==============================================================================
---
velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/ToolContext.java
(original)
+++
velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/ToolContext.java
Sun Nov 13 15:45:01 2016
@@ -27,6 +27,7 @@ import java.util.Map;
import java.util.Set;
import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.context.Context;
+import org.apache.velocity.tools.config.ConfigurationUtils;
/**
* {@link Context} implementation that keeps a list of {@link Toolbox}es
@@ -164,7 +165,7 @@ public class ToolContext implements Cont
{
// add the engine and log as common tool properties
putToolProperty(ENGINE_KEY, engine);
- putToolProperty(LOG_KEY, engine.getLog());
+ putToolProperty(LOG_KEY, ConfigurationUtils.getLog(engine, "tools"));
// tell interested tools not to catch exceptions whenever there's a
// method exception event handler configured for the engine
Modified:
velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/ToolManager.java
URL:
http://svn.apache.org/viewvc/velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/ToolManager.java?rev=1769506&r1=1769505&r2=1769506&view=diff
==============================================================================
---
velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/ToolManager.java
(original)
+++
velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/ToolManager.java
Sun Nov 13 15:45:01 2016
@@ -21,14 +21,13 @@ package org.apache.velocity.tools;
import java.util.Map;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import org.apache.velocity.app.VelocityEngine;
-import org.apache.velocity.tools.Scope;
import org.apache.velocity.tools.config.ConfigurationUtils;
import org.apache.velocity.tools.config.FactoryConfiguration;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
/**
* Manages tools for non-web applications. This simplifies the process
* of getting a tool-populated Velocity context for merging with templates.
@@ -43,6 +42,7 @@ public class ToolManager
{
protected VelocityEngine velocity;
protected ToolboxFactory factory;
+ protected Logger log = null;
private Toolbox application;
private boolean userOverwrite = true;
@@ -168,14 +168,24 @@ public class ToolManager
public Logger getLog()
{
- if (velocity == null)
+ if (log == null)
{
- return LoggerFactory.getLogger(ToolManager.class);
- }
- else
- {
- return velocity.getLog();
+ synchronized (this)
+ {
+ if (log == null)
+ {
+ if (velocity == null)
+ {
+ log = LoggerFactory.getLogger(ToolManager.class);
+ }
+ else
+ {
+ log = ConfigurationUtils.getLog(velocity, "tools");
+ }
+ }
+ }
}
+ return log;
}
public ToolContext createContext()
Modified:
velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/config/ConfigurationUtils.java
URL:
http://svn.apache.org/viewvc/velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/config/ConfigurationUtils.java?rev=1769506&r1=1769505&r2=1769506&view=diff
==============================================================================
---
velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/config/ConfigurationUtils.java
(original)
+++
velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/config/ConfigurationUtils.java
Sun Nov 13 15:45:01 2016
@@ -28,10 +28,16 @@ import java.lang.reflect.Modifier;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;
+
+import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.exception.ResourceNotFoundException;
+import org.apache.velocity.runtime.RuntimeConstants;
import org.apache.velocity.tools.ClassUtils;
import org.apache.velocity.tools.ToolboxFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
/**
* Utility methods for handling tool configurations.
*
@@ -531,4 +537,24 @@ public class ConfigurationUtils
}
}
+ public static Logger getLog(VelocityEngine engine, String childNamespace)
+ {
+ /* first check config for a logger instance, then for a base logger
name
+ this is mostly what RuntimeServices.getLog(String) does, but we
don't
+ have access to RuntimeServices here
+ */
+ Logger logger =
(Logger)engine.getProperty(RuntimeConstants.RUNTIME_LOG_INSTANCE);
+ if (logger == null)
+ {
+ String basename =
(String)engine.getProperty(RuntimeConstants.RUNTIME_LOG_NAME);
+ if (basename == null)
+ {
+ basename = RuntimeConstants.DEFAULT_RUNTIME_LOG_NAME;
+ }
+ logger = LoggerFactory.getLogger(basename + "." + childNamespace);
+ }
+ return logger;
+ }
+
+
}
Modified:
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=1769506&r1=1769505&r2=1769506&view=diff
==============================================================================
---
velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/LogTool.java
(original)
+++
velocity/tools/trunk/velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/LogTool.java
Sun Nov 13 15:45:01 2016
@@ -57,7 +57,7 @@ import org.slf4j.LoggerFactory;
@DefaultKey("log")
@ValidScope(Scope.APPLICATION)
-public class LogTool
+public class LogTool extends SafeConfig
{
public static final String LOGGER_NAME_KEY = "loggerName";
@@ -66,12 +66,12 @@ public class LogTool
/**
* configure the logger
*/
- public void configure(ValueParser values)
+ protected void configure(ValueParser values)
{
String loggerName = values.getString(LOGGER_NAME_KEY);
if (loggerName == null)
{
- loggerName = "Velocity";
+ loggerName = "org.apache.velocity.tools";
}
LOG = LoggerFactory.getLogger(loggerName);
}