logging-log4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary Gregory (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (LOG4J2-945) Reconfiguring statusLogger to a higher level doesn't work correctly
Date Wed, 28 Jan 2015 13:18:34 GMT

     [ https://issues.apache.org/jira/browse/LOG4J2-945?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Gary Gregory updated LOG4J2-945:
--------------------------------
    Description: 
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 {{StatusConfiguration.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.

  was:
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.


> 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 {{StatusConfiguration.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: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org


Mime
View raw message