Log4j 多线程
我将 ConsoleAppender 添加到 log4j 的 rootlogger 中,
BasicConfigurator.configure(new ConsoleAppender(layout, "System.err"));
但不知何故,层次结构中某些记录器中的日志消息未到达控制台。我没有在层次结构中看到任何将可加性标志设置为 false 的实例。
有些记录器在不同的线程中运行,我需要做任何配置吗?我该如何调试这个?
I am adding ConsoleAppender to rootlogger for log4j as
BasicConfigurator.configure(new ConsoleAppender(layout, "System.err"));
But somehow log messages in some loggers down the hierarchy are not reaching console. I have not seen any instance in the hierarchy setting the additivity flag as false.
Some loggers are running in different threads, do you I need to do any configuration? How can I debug this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Log4j 是线程安全的。请参阅 log4j 线程安全吗?。您不需要任何特殊的多线程配置。
但是,来自不同线程的消息可能会以混合顺序出现,因此请检查它们是否不在日志中的其他位置。
Log4j is thread-safe. See Is log4j thread-safe?. You should not need any special configuration for multi-threading.
However, the messages can appear in a mixed-up order from different threads, so check that they aren't somewhere else in the logs.