2013-10-31 36 views
0

經過很多搜索後,我終於知道,我們只能記錄特定級別的消息(例如,在我的情況下只有INFO消息)使用LevelMatchFilter中的log4j.xml文件...使記錄器顯示級別INFO.logging的日誌消息是包級別

這裏是代碼..

<filter type="org.apache.log4j.varia.LevelMatchFilter"> 
    <acceptOnMatch value="true" /> 
    <levelToMatch value="INFO" /> 
</filter> 
<filter type="org.apache.log4j.varia.DenyAllFilter" /> 

我的情況是我有這樣一些包..

1)com.test.servlet 
2)com.test.service 
3)com.test.filter 
4)com.test.model 

現在,我的要求是什麼..

1) servlet package should print loggers from DEBUG level and above. 
2) service package should print loggers from ERROR level and above. 
3) rest of the package should print only INFO log messages. 

我得到了代號爲3點,但我對如何應用它的特定程序包無能。

有人指導實現這一目標。

感謝

回答

0

添加下面你log4j.xml和檢查。

<logger name="com.test.servlet" additivity="false"> 
    <level value="debug"/> 
</logger> 
<logger name="com.test.service" additivity="false"> 
    <level value="error"/> 
</logger> 
<logger name="com.test.filter" additivity="false"> 
    <level value="info"/> 
</logger> 
<logger name="com.test.model" additivity="false"> 
    <level value="info"/> 
</logger> 

請參閱Log4jXmlFormat瞭解更多詳情。