diff options
author | David Pursehouse <dpursehouse@collab.net> | 2018-06-26 13:11:41 +0900 |
---|---|---|
committer | David Pursehouse <dpursehouse@collab.net> | 2018-07-02 07:54:14 +0000 |
commit | 9b53b823a7085502913cb8ca227dcd3b12a391a1 (patch) | |
tree | a40023c2781b5e51e975c38725cc36e777c38a19 | |
parent | 97634bf40406333c9814458cede4b8fd27d443f5 (diff) |
Fix creation of plugin log file when log4j.configuration is set
When the environment variable log4j.configuration is set, log files
defined by plugins don't get created because the appender can't be
found.
When creating a log file from a plugin, disregard the environment
variable and always create it with the given layout.
Bug: Issue 9345
Change-Id: Ic0bb86bfdc72fe34ce9a3cd7775daf346342b4ef
-rw-r--r-- | gerrit-server/src/main/java/com/google/gerrit/server/util/PluginLogFile.java | 2 | ||||
-rw-r--r-- | gerrit-server/src/main/java/com/google/gerrit/server/util/SystemLog.java | 6 |
2 files changed, 6 insertions, 2 deletions
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/util/PluginLogFile.java b/gerrit-server/src/main/java/com/google/gerrit/server/util/PluginLogFile.java index 351fbd4410..946a7e9c91 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/util/PluginLogFile.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/util/PluginLogFile.java @@ -38,7 +38,7 @@ public abstract class PluginLogFile implements LifecycleListener { @Override public void start() { - AsyncAppender asyncAppender = systemLog.createAsyncAppender(logName, layout); + AsyncAppender asyncAppender = systemLog.createAsyncAppender(logName, layout, true); Logger logger = LogManager.getLogger(logName); logger.removeAppender(logName); logger.addAppender(asyncAppender); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/util/SystemLog.java b/gerrit-server/src/main/java/com/google/gerrit/server/util/SystemLog.java index db4862ce82..4efe8f2d43 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/util/SystemLog.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/util/SystemLog.java @@ -70,13 +70,17 @@ public class SystemLog { } public AsyncAppender createAsyncAppender(String name, Layout layout) { + return createAsyncAppender(name, layout, false); + } + + public AsyncAppender createAsyncAppender(String name, Layout layout, boolean forPlugin) { AsyncAppender async = new AsyncAppender(); async.setName(name); async.setBlocking(true); async.setBufferSize(config.getInt("core", "asyncLoggingBufferSize", 64)); async.setLocationInfo(false); - if (shouldConfigure()) { + if (forPlugin || shouldConfigure()) { async.addAppender(createAppender(site.logs_dir, name, layout)); } else { Appender appender = LogManager.getLogger(name).getAppender(name); |