2015-02-26 128 views
2

我們如何編寫一個簡單的log4j2.xml文件,並將不同級別的日誌寫入不同的文件?不同級別的日誌在不同的日誌文件中

例如,我們有錯誤日誌我需要將所有錯誤日誌消息推送到一個日誌文件中,並將所有信息日誌消息推送到另一個文件中。

我想在LoginController.log InfoController.log文件和錯誤消息,信息消息文件

我該怎麼辦呢?

+0

爲何使用相同的名稱爲記錄儀?嘗試更改爲 Ako

回答

6

最後通過這樣做得到了答案我得到了不同文件中的日誌。

<Loggers> 
    <logger name="com.mvc.login" level="info" additivity="false"> 
     <AppenderRef ref="LoginController" level="error"/> 
     <AppenderRef ref="InfoController" level="info"/> 
    </logger> 
    </Loggers> 
1

記錄器必須具有唯一的名稱。配置中的第二個記錄器將替換第一個記錄器,這就解釋了爲什麼您沒有看到第一個記錄器引用的appender的輸出。

通常情況下,一個配置有一個根記錄器,它將接收所有事件。我會建議,以便配置的一部分變成:

<Loggers> 
    <logger name="com.mvc.login" level="error" additivity="false"> 
     <AppenderRef ref="LoginController"/> 
    </logger> 
    <root level="trace"> 
     <AppenderRef ref="InfoController"/> 
    </root> 
</Loggers> 
+0

每件事情都按預期工作thanq .... –

+0

如果我爲記錄器提供不同的名稱我怎樣才能得到同一類的記錄?例如類名是com.mvc.login我如何給記錄器提供不同的名稱? –

+0

我編輯的問題,你可以請現在看看它? –

0
<Filters> 
    <ThresholdFilter level="warn" onMatch="DENY" onMismatch="ACCEPT" /> 
    </Filters> 

這將只打印信息log.If您指定級別的錯誤,然後將打印只警告信息等

相關問題