0

经过大量搜索,我终于知道我们只能在 log4j.xml 文件中使用 LevelMatchFilter 记录特定级别的消息(例如,在我的情况下,只有 INFO 消息)......

这是代码..

<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.

我得到了第三点的代码,但我对如何将它应用到特定的包一无所知。

有人指导实现这一目标。

谢谢

4

1 回答 1

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

于 2013-10-31T08:00:34.917 回答