]
Lin Gao reassigned LOGMGR-117:
------------------------------
Assignee: Lin Gao (was: James Perkins)
Fork Log4J ConosleAppender to simply handling of calls to System.out
--------------------------------------------------------------------
Key: LOGMGR-117
URL:
https://issues.jboss.org/browse/LOGMGR-117
Project: JBoss Log Manager
Issue Type: Enhancement
Reporter: Kyle Lape
Assignee: Lin Gao
While the use of {{ConsoleAppender}} in Log4J application logging configurations is
discouraged, JBoss could probably do a better job of managing its use.
Currently it's possible to encounter a deadlock if thread A invokes
{{System.out.println()}} and thread B invokes {{Logger.info()}}. Thread A will get the
lock on {{System.out}} (a {{java.io.PrintWriter}}), but then thread B will get the lock on
the {{org.apache.log4j.ConsoleAppender}}. Then each thread is waiting on the other's
lock.
The suggested improvement (discussed with [~jamezp]) is to fork Log4J's
{{ConsoleAppender}} so that instead of calling {{System.out.println}}, it calls the real
{{stdout}}.
*Bonus enhancement*: Drop a {{WARN}} message to the system root logger discouraging the
use of {{ConsoleAppender}} in application configurations.