2013-07-23 74 views
1

在多线程环境(Web服务提供者)中,我需要为每个请求(通常是每个线程)在数据库中创建日志条目。什么是使用这样的东西的方法?log4j在多线程环境中。每个线程一个Appender或每个线程一个Logger或...?

  • 对于所有线程都是相同的记录器,并为每个线程创建一个appender。然后在请求/线程结束时关闭/删除appender。

  • 每个线程的记录器(每个线程的不同类名)。在请求/线程末尾发布特定记录器

  • 其他?

+1

所有日志记录框架都是线程安全的。如果您编写的代码忽略多线程问题,您将编写正确的代码。 –

+0

你有答案吗? –

回答

1

Apache log4j FAQ

是,log4j的是线程安全的。 Log4j组件旨在用于大量多线程系统。

正如Marko Topolnik所说,在规划日志语句时忽略多线程,并让log4j处理它。

+0

感谢您的回复。但是,问题不在于编写线程安全的代码。是关于如何为每个Web服务请求创建/收集单独的日志条目。在Web服务中,每个请求都由一个新线程处理。您可以考虑为每个请求创建一个单独的日志文件。什么是处理这个最好的方法... – user2287359

相关问题