在记录器Log4j中打印上下文根

时间:2010-12-09 06:27:01

标签: log4j config

我想打印记录器以及上下文根。

例如我的记录器在控制台中打印如下。

INFO  [MandatoryAdapter] Ends - validateData

现在我想要如下。

INFO [APPLICATION_NAME] [MandatoryAdapter] Ends - validateData

任何人都可以帮助我。

谢谢,

纳伦德拉

2 个答案:

答案 0 :(得分:2)

假设您有多个应用,并且每个应用都拥有自己的log4j.properties文件

我们做了类似的事情,即硬编码 ConversionPattern中的网络应用程序名称

log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss.SSS}  <business> [-] %-5p %m \: %c-(%L) %n

此处<business>是应用名称

进一步阅读

log4j properties for multiple webapps

答案 1 :(得分:2)

我建议使用Log4j的MDC(映射诊断上下文,请参阅docs)。

基本上,您的应用程序将MDC线程局部变量设置为您的应用程序名称,然后log4j记录器会将每个消息打印出来。

如果这是针对webapp的,那么您可以在请求开始时设置MDC,并在完成时取消设置。