Stefan Wehner created LOG4J2-945:
------------------------------------
Summary: Reconfiguring statusLogger to a higher level doesn't work
correctly
Key: LOG4J2-945
URL: https://issues.apache.org/jira/browse/LOG4J2-945
Project: Log4j 2
Issue Type: Bug
Components: Core
Affects Versions: 2.1
Reporter: Stefan Wehner
Priority: Minor
When reconfiguring log4j and changing the level of the status logger to a
higher level - e.g. from WARN to DEBUG, it doesn't work correctly.
Steps to reproduce:
# Configure from log4j2.xml containing:
{code}
<Configuration status="WARN" monitorInterval="5">
...
{code}
# With the app running, change status to a higher level:
{code}
<Configuration status="DEBUG" monitorInterval="5">
...
{code}
# Observe that the log config is reloaded, but no debug messages for the status
logger appear.
>From what I've seen this is because the StatusConfig.initialize() reconfigures
>the listeners' level
[StatusConfig:193|https://git-wip-us.apache.org/repos/asf?p=logging-log4j2.git;a=blob;f=log4j-core/src/main/java/org/apache/logging/log4j/core/config/status/StatusConfiguration.java;h=4d2ee51b4cf5dcb6f62029fe307093a759bf0af7;hb=HEAD#l193]
But it doesn't update the listenersLevel field that the StatusLogger uses for
checking if the logger is enabled (I understand this should be the maximum of
all of the listener's levels)
[StatusLogger:273|https://git-wip-us.apache.org/repos/asf?p=logging-log4j2.git;a=blob;f=log4j-api/src/main/java/org/apache/logging/log4j/status/StatusLogger.java;h=39d447d9793ca08a7d86b9eaaf6ef3dd406cf9a2;hb=HEAD#l273]
So in this case the listenersLevel is still at WARN, even though the console
listener has a DEBUG level, and all the log messages are ignored because
isEnabled(DEBUG) returns false.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]