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

Remko Popma commented on LOG4J2-514:
------------------------------------

Based on the code in trunk for OutputStreamManager, this is still an issue in 
rc2.

> ConsoleAppender closing System.out on Windows
> ---------------------------------------------
>
>                 Key: LOG4J2-514
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-514
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Appenders
>    Affects Versions: 2.0-beta9
>         Environment: Windows 7 64-bit
> Oracle JDK 1.7.0_51
>            Reporter: Wolf480 Pl
>         Attachments: LOG4J2-514.patch.txt
>
>
> If the Console appender is not specified in the configuration file, after the 
> configuration is read, the Console appender is being destroyed, which causes 
> it to release its OutputStreamManager, When this manager is released and 
> closed, it checks if the stream is System.out or System.err, and if it is, 
> doesn't close it. But on Windows, ConsoleAppender wraps the System.out into a 
> WindowsAnsiOutputStream. The OutputStreamManager closes the stream when it's 
> released, and the stream closes the underlaying System.out.
> proof: http://imageshack.com/a/img31/8296/cg6b.png
> -I think the easiest solution would be to use new 
> FileOutputStream(FileDescriptor.out)) instead of System.out in 
> ConsoleAppender implementation.- unfortunately, that would still cause 
> System.out to be closed.
> A solution would be to wrap System.out with some FilterStream that overrides 
> close() to do nothing.



--
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