[英]Multiple Appender of Log4j for the same Package
我在多線程環境中工作,我有一個類的多個線程存在於一個包中。 我正在使用log4j進行日志記錄。 現在我可以在一個文本文件中登錄。 但是我想針對每個線程進行多次日志記錄。 與First Thread類似,我的日志文件會有所不同,對於第二個線程,我的日志文件會有所不同,依此類推。 我搜索日志的方法是,我們只能在log4j中為一個包使用一個appender。 我們可以為一個包使用多個appender。 或者我可以用來解決我的問題的任何其他技術。 這是我的log4j屬性文件
log4j.logger.com.ef.zoomanalyzer=DEBUG, Analyzer_Log
log4j.appender.Analyzer_Log=org.apache.log4j.RollingFileAppender
log4j.appender.Analyzer_Log.File=C:/AnalyzerLog/Analyzer.log
log4j.appender.Analyzer_Log.MaxFileSize=1000KB
log4j.appender.Analyzer_Log.MaxBackupIndex=10
log4j.appender.Analyzer_Log.layout=org.apache.log4j.PatternLayout
試試:
對於log4j.xml
<appender name="APPENDER_1" class="org.apache.log4j.DailyRollingFileAppender">
<param name="file" value="C:/log_1.log"/>
<param name="MaxBackupIndex" value="10"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss,SSS} |%5p| [%c] | %m%n"/>
</layout>
</appender>
<appender name="APPENDER_2" class="org.apache.log4j.DailyRollingFileAppender">
<param name="file" value="C:/log_2.log"/>
<param name="MaxBackupIndex" value="10"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss,SSS} |%5p| [%c] | %m%n"/>
</layout>
</appender>
<logger name="org.java.test">
<level value="DEBUG"/>
<appender-ref ref="APPENDER_1"/>
</logger>
<logger name="org.java.tes">
<level value="DEBUG"/>
<appender-ref ref="APPENDER_2"/>
</logger>
對於log4j.properties
log4j.appender.APPENDER_1=org.apache.log4j.FileAppender
log4j.appender.APPENDER_1.File=C:/log_1.log
log4j.appender.APPENDER_1.layout=org.apache.log4j.PatternLayout
log4j.appender.APPENDER_1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
log4j.appender.APPENDER_2=org.apache.log4j.FileAppender
log4j.appender.APPENDER_2.File=C:/log_2.log
log4j.appender.APPENDER_2.layout=org.apache.log4j.PatternLayout
log4j.appender.APPENDER_2.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
log4j.logger.com.java.logger.org.java.test=,APPENDER_1, APPENDER_2
每個線程在日志中都有自己的名稱。 你不必這樣做。
為了簡化答案,您可以向記錄器添加額外的appender
<logger name="org.java.test">
<level value="DEBUG"/>
<appender-ref ref="APPENDER_1"/>
<appender-ref ref="APPENDER_2"/>
</logger>
或者只是添加appender名稱
log4j.logger.com.your.package.name=APPENDER_1, APPENDER_2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.