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

Bruce Brouwer commented on LOG4J2-609:
--------------------------------------

It seemed odd to me that a configuration (be it XMLConfiguration or 
JSONConfiguration) would modify a different configuration's listener. I thought 
it would be better if each configuration held onto a reference of its own 
StatusConsoleListener and unregistered it at appropriate times (e.g. 
reconfigure or close). 

This way, if I modified my XML config file to switch from one destination file 
to another destination file, the old destination file will get closed and the 
new destination file will start to be used. In the original code, there would 
be no switch from the previous destination to the new destination file and no 
way to close the destination file. 

This is probably the most impactful part of my change, so I appreciate that you 
are looking carefully into what I did. 

> StatusConfiguration doesn't close files
> ---------------------------------------
>
>                 Key: LOG4J2-609
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-609
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.0-rc1
>            Reporter: Bruce Brouwer
>            Assignee: Ralph Goers
>         Attachments: log4j2-609.patch
>
>
> {{org.apache.logging.log4j.core.config.status.StatusConfiguration}} allows 
> you to specify a destination such as "out", "err" or a file name. If 
> specifying a file, that file stream is used when creating a 
> {{StatusConsoleListener}} that is added to the {{StatusLogger}}. Those 
> {{StatusLogger}} listeners are never cleaned up when, for example, the 
> {{XmlConfiguration}} is reconfigured or when the {{LoggerContext}} is shut 
> down (e.g. in {{InitialLoggerContext.apply()}}). This leaves open file 
> handles and is the source of the failing test {{FileOutputTest}} on Windows. 



--
This message was sent by Atlassian JIRA
(v6.2#6252)

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

Reply via email to