log4j输出到控制台的性能问题 non-blocking-console-input-c

log4j输出到控制台的性能问题

 我们发现,业务线程在使用ConsoleAppender打印日志时,需要同步获取到OutputStreamManager对象的monitor锁,然后同步调用PrintStream.write() → BufferedOutputStream.write() → FileOutputStream.write() ,接着flush(),等写到Console成功后,才会释放锁,而其他需要获取该锁的业务线程在此期间只能阻塞等待。

 

https://kb.kutu66.com/others/post_13626538

https://stackoverflow.com/questions/6171132/non-blocking-console-input-c

 

你可能感兴趣的:(log4j输出到控制台的性能问题 non-blocking-console-input-c)