log4j在多线程环境中。每个线程一个Appender或每个线程一个记录器或......?

时间:2013-07-23 17:49:26

标签: java log4j

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

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

  • 每个线程的记录器(每个线程不同的类名)。在请求/线程结束时以某种方式释放特定记录器

  • 其他?

1 个答案:

答案 0 :(得分:1)

来自Apache log4j FAQ

  

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

正如Marko Topolnik评论的那样,在规划日志语句时忽略多线程,让log4j处理它。