logging-log4j-dev mailing list archives

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

    [ https://issues.apache.org/jira/browse/LOG4J2-945?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14298565#comment-14298565

Stefan Wehner commented on LOG4J2-945:

While I was looking into this I've seen that there is a leak in the StatusLogger's listeners.
Everytime it is reconfigured a new StatusAdminLogger is registered - so this'd have to be
fixed also. I've added a patch for the other bug, too. 
See LOG4J2-947

> 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
>         Attachments: remove_listeners_level.patch
> 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
> 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
> [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

To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org

View raw message