为同一包中的不同类分隔日志文件

时间:2011-07-15 06:08:08

标签: logging log4j

我正在使用log4j并希望为同一个包中的不同类创建不同的日志文件,我可以通过使用两个xml文件来执行此操作,但我想通过使用单个xml文件来执行它。

请告诉我这样做的方法。

1 个答案:

答案 0 :(得分:2)

使所有应该登录到同一文件的类使用相同的记录器,例如在每个类中放置以下Logger实例:

Logger firstFileLogger= Logger.getLogger("firstFile");

log4j.xml声明相应的记录器

<logger name="firstFile>
  <level value="debug"/>
  <appender-ref ref="firstFileAppender" />
</logger>

并让它登录到相应的文件appender:

<appender name="firstFileAppender" class="org.apache.log4j.RollingFileAppender"> 
  <param name="file" value="firstFile.log"/>
  <param name="MaxFileSize" value="100KB"/>
  <param name="MaxBackupIndex" value="1"/>
  <layout class="org.apache.log4j.PatternLayout"> 
  <param name="ConversionPattern" value="%p %t %c - %m%n"/> 
  </layout> 
</appender> 

对要写入的每个日志文件重复此操作。