1
我在我的每個班兩個log4j的記錄器在我的代碼:如何阻止我的日誌文件相互添加?
logA = Logger.getLogger(com.some.class.in.my.project);
logB = Logger.getLogger('perf');
我想這兩個記錄儀輸出數據到兩個完全不同的文件。我似乎無法得到它的工作。
這裏是我的log4j屬性:
log4j.rootLogger = myAppenderA
# A
log4j.appender.myAppenderA=org.apache.log4j.RollingFileAppender
log4j.appender.myAppenderA.File=../logs/mylogfileA.log
log4j.appender.myAppenderA.additivity=false
log4j.appender.myAppenderA.Threshold=DEBUG
log4j.appender.myAppenderA.layout=org.apache.log4j.PatternLayout
log4j.appender.myAppenderA.layout.ConversionPattern=%d{ISO8601} %-5p 0 %m%n
# perf
log4j.appender.perf=org.apache.log4j.RollingFileAppender
log4j.appender.perf.File=..logs/perf.log
log4j.appender.perf.additivity=false
log4j.appender.perf.Threshold=DEBUG
log4j.appender.perf.layout=org.apache.log4j.PatternLayout
log4j.appender.perf.layout.ConversionPattern=%d{ISO8601} %-5p 0 %m%n
log4j.logger.myAppenderB = perf
兩個myLogfileA.log和perf.log包含相同的數據。假設設置可加性錯誤修正了這一點,但我已經嘗試過了,它幾乎沒有影響。
沒有遺憾,這是行不通的。此屬性文件配置僅將所有appender的數據發送到logs/mylogfileA.log文件。並沒有觸及表演。 – 2013-03-18 10:58:23
你是如何創建你的記錄器?我編輯了答案,以顯示如何使用記錄器將消息打印到3個不同的文件。 – jonasnas 2013-03-18 14:22:25
P.S.我也改變了日誌位置(刪除'..',我認爲它應該是'../'不是'..')所以請確保你正在尋找合適的位置 – jonasnas 2013-03-18 14:27:05