2010-12-09 39 views
1

我想打印記錄器和上下文根。在記錄器中打印上下文根Log4j

例如我的記錄儀在控制檯中打印如下。

INFO [MandatoryAdapter] Ends - validateData 

現在我想要如下。

INFO [APPLICATION_NAME] [MandatoryAdapter] Ends - validateData 

任何人都可以在這方面幫助我。

感謝,

納倫德拉

回答

1

假設你有多個應用程序,以及每個應用程序都有它自己的log4j.properties文件

,我們做這樣的事,即硬編碼 Web應用程序的名稱在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

我建議使用Log4j的MDC(映射診斷上下文,看docs)這一點。

本質上,您的應用程序將MDC線程局部變量設置爲您的應用程序名稱,然後log4j記錄器隨後將每條消息打印出來。

如果這是針對Web應用程序的,則可以在請求開始時設置MDC,並在完成時取消設置。