[ 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