Using <AsyncRoot> and <AsyncLogger> solved the issue. Logically, there should not be differences since I configured all the loggers to be asynchronous.
I just understood the "asynchronous" nature applies for loggers and appenders. If all the loggers are asynchronous, is it needed to use asynchronous appenders? -----Original Message----- From: Remko Popma [mailto:[email protected]] Sent: Thursday, September 18, 2014 8:18 PM To: Log4J Users List Subject: Re: Ignoring log event after log4j was shut down I suspect that SprintJUnit4ClassRunner does some classloading magic and that you are suffering the same problem as this: https://issues.apache.org/jira/browse/LOG4J2-493 There are two ways to configure async loggers: with the context selector system property, and in log4j2.xml with <AsyncRoot> and <AsyncLogger> elements. Can you try removing the context selector system property and instead use <AsyncRoot> and <AsyncLogger> in your log4j2 configuration? On Fri, Sep 19, 2014 at 2:05 AM, Mickael Marrache <[email protected] > wrote: > Yes I run my unit test from Eclipse. I use the SpringJUnit4ClassRunner > runner to load my application context, I don't think it registers the > Spring shutdown hook. > > -----Original Message----- > From: Remko Popma [mailto:[email protected]] > Sent: Thursday, September 18, 2014 7:58 PM > To: Log4J Users List > Subject: Re: Ignoring log event after log4j was shut down > > How are you running this unit test? (From an IDE (which one), from a > Maven/Ant build or from the command line, ...?) Do you have any > shutdown hooks and does logging take place inside a shutdown hook? > > On Fri, Sep 19, 2014 at 1:53 AM, Mickael Marrache < > [email protected] > > wrote: > > > Hi, > > > > > > > > I just started to use Log4j 2 with the asynchronous logger feature, > > I followed the guide but after a running a unit test, I always get > > the following log entry at the end instead of the last line I expect: > > > > > > > > 2014-09-18 16:45:56,030 FATAL Ignoring log event after log4j was > > shut down > > > > > > > > If I disable remove the Log4jContextSelector system property, I can > > see the last log entry instead of the error. > > > > > > > > I guess the log4j engine is shut down and therefore it ignores the > > log entry? If yes, why it is not shut down after the test ends? > > > > > > > > Regards, > > > > Mickael > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
