2017-06-14 52 views
1

如何在java中使用5個log4j屬性生成5個(超過2個)日誌文件,我用2個文件完成,它工作正常,但我需要創建2個以上的文件,但不會創建2個以上的文件。如何在java中使用5個log4j屬性生成5個(超過2個)日誌文件

謝謝。

配置:

# This is first log file 

log4j.rootLogger=INFO, file 

log4j.appender.file=org.apache.log4j.RollingFileAppender 
log4j.appender.file.File=C://First_logger.out 
log4j.appender.file.layout=org.apache.log4j.PatternLayout 
log4j.appender.file.layout.ConversionPattern=[ %p ] %d{dd MMM yyyy HH:mm:ss,SSS} %c:%L - %m%n%n 

# This is second log file 

log4j.rootLogger=INFO, SecondLog 

log4j.appender.SecondLog=org.apache.log4j.RollingFileAppender 
log4j.appender.SecondLog.File=C://second-report.out 
log4j.appender.SecondLog.layout=org.apache.log4j.PatternLayout 
log4j.appender.SecondLog.layout.ConversionPattern=[ %p ] %d{dd MMM yyyy HH:mm:ss,SSS} %c:%L - %m%n%n 

log4j.category.SecondLogger=DEBUG, SecondLog 
log4j.additivity.SecondLogger=false 

# This is Third log File 


log4j.rootLogger=INFO, ThirdLog 

log4j.appender.ThirdLog=org.apache.log4j.RollingFileAppender 
log4j.appender.ThirdLog.File=C://third-report.out 
log4j.appender.ThirdLog.layout=org.apache.log4j.PatternLayout 
log4j.appender.ThirdLog.layout.ConversionPattern=[ %p ] %d{dd MMM yyyy HH:mm:ss,SSS} %c:%L - %m%n%n 

log4j.category.ThirdLogger=DEBUG, ThirdLog 
log4j.additivity.ThirdLogger=false 
+0

任何切換到Logback的機會? https://logback.qos.ch/ – Antoniossss

+0

你有沒有調試過,看看它失敗的地方? Logger是否加載了appender?它拋出異常嗎? – AxelH

+0

我沒有得到任何異常或錯誤 –

回答

0

我重現該問題與這種構造,First_logger.out不創建但秒-report.out第三report.out是。

log4j.category.fileLogger=DEBUG, file 

此外,如果第一個文件塊在配置結束時放也產生了三個文件:如果我們添加以下行的第一塊

三個文件生成文件,與原始配置。現在,我不知道爲什麼塊的順序很重要。

+0

謝謝,但它不適合我。 –

+0

哪一個文件不是在你身邊創建的? 它是第一個,就像我的? 如果我評論三個塊的類別,則只創建* third-report.out *。 btw,我沒有* C *目錄的寫入權限,所以我使用* C://a/First_logger.out*路徑進行測試。 – Javert0

+0

哪個實例是第一次創建的,僅創建2個文件,對於我第一個和第二個創建的不是第三個,繼續。 –

0

嘿,我得到了這個解決方案。我創建了多個log4j屬性文件,但是, 實際上,我們必須爲多個屬性文件寫入只有一個log4j屬性文件,它不工作,log4j只初始化一個屬性文件,所以我們必須編寫1個log4j文件,並且在該文件中我們必須配置其他多個記錄器。像下面一樣

# This is only one log4j property file 

    log4j.rootLogger=INFO, file, SecondLog, ThirdLog 

    log4j.appender.file=org.apache.log4j.RollingFileAppender 
    log4j.appender.file.File=C://First_logger.out 
    log4j.appender.file.layout=org.apache.log4j.PatternLayout 
    log4j.appender.file.layout.ConversionPattern=[ %p ] %d{dd MMM yyyy HH:mm:ss,SSS} %c:%L - %m%n%n 

    log4j.category.fileLogger=DEBUG, file 

    log4j.appender.SecondLog=org.apache.log4j.RollingFileAppender 
    log4j.appender.SecondLog.File=C://second-report.out 
    log4j.appender.SecondLog.layout=org.apache.log4j.PatternLayout 
    log4j.appender.SecondLog.layout.ConversionPattern=[ %p ] %d{dd MMM yyyy HH:mm:ss,SSS} %c:%L - %m%n%n 

    log4j.category.SecondLogger=DEBUG, SecondLog 
    log4j.additivity.SecondLogger=false 



    log4j.appender.ThirdLog=org.apache.log4j.RollingFileAppender 
    log4j.appender.ThirdLog.File=C://third-report.out 
    log4j.appender.ThirdLog.layout=org.apache.log4j.PatternLayout 
    log4j.appender.ThirdLog.layout.ConversionPattern=[ %p ] %d{dd MMM yyyy HH:mm:ss,SSS} %c:%L - %m%n%n 

    log4j.category.ThirdLogger=DEBUG, ThirdLog 
    log4j.additivity.ThirdLogger=false