2017-06-14 180 views
0

我正在使用log4j在我的一個應用程序上執行某些日誌記錄。我的配置中的記錄器看起來像這樣。Log4j2通配符記錄器名稱

<Root level="info"> 
    <AppenderRef ref="Console"/> 
</Root> 

<Logger name="org.eclipse.jetty.server.Server" level="warn" additivity="false"> 
    <AppenderRef ref="Console"></AppenderRef> 
</Logger> 
<Logger name="org.eclipse.jetty.util.log" level="warn" additivity="false"> 
    <AppenderRef ref="Console"></AppenderRef> 
</Logger> 
<Logger name="org.eclipse.jetty.server.ServerConnector" level="warn" additivity="false"> 
    <AppenderRef ref="Console"></AppenderRef> 
</Logger> 

基本上,我想從我寫的代碼的「信息」級別的消息,但我想,如果事情是警告或更可怕的外部庫只記錄。

這是工作,我所期望的,但也有很多在「org.eclipse.jetty」

類是否有可能做這樣的事情?

<Logger name="org.eclipse.jetty.*" level="warn"> 
    <AppenderRef ref="Console" level="warn"></AppenderRef> 
</Logger> 

也就是說,我想在整個包都只有警告/錯誤/致命的。

我試過以上,它沒有效果。有沒有「通配符」或我可以用來設置包中的所有內容的記錄器?

+0

現在還不確定,但我認爲這個軟件包已經足夠了 - 至少對於基於屬性的配置,它的工作方式是 –

+0

哇。我什至不想嘗試包名。謝謝!如果你回答這個問題,我會給你接受。 – Zack

回答

3

對於基於屬性的配置,只需簡單地取出包名稱而不使用任何通配符。應該使用XML也:)