配置log4j文件

时间:2013-04-05 11:38:15

标签: log4j

我有这个log4j.config

<appender name="FileInfoStatistics" class="org.apache.log4j.RollingFileAppender">
<param name="file" value="${log.dir}/T_Statistics.log" />
<param name="MaxFileSize" value="8000KB"/>
<!-- Keep one backup file -->
<param name="MaxBackupIndex" value="1"/>
<layout class="org.apache.log4j.PatternLayout">
  <param name="ConversionPattern" value="%d %5p %c{1} - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
  <param name="levelMin" value="INFO" />
</filter>
</appender>

但是我想在文件时创建T_Statistics.log并在一行创建一行例如这是一个日志文件,这可能来自log4j.config吗?

我看到这可能是log4net with:

<param name="Header" value="xxxx"

是否有类似log4j的内容?

1 个答案:

答案 0 :(得分:2)

嗯,经过一些研究,我找到了解决问题的办法,说如果有人会有用。

我创建了一个自定义appender:

package com.mycompany.logger;

import org.apache.log4j.PatternLayout;

public class MyPatterLayout extends PatternLayout 
{  
    @Override  
    public String getHeader()
    {  
        return "message id, file name, start time, end time, status" +  System.getProperty("line.separator");
    }
}  

然后我配置了我的log4j.xml:

<appender name="console" class="org.apache.log4j.ConsoleAppender"> 
<param name="Target" value="System.out"/> 
<layout class="com.mycompany.logger.MyPatterLayout"> 
    <param name="ConversionPattern" value="%-5p %c{1} - %m%n"/>
</layout>

这就是结果:

message id, file name, start time, end time, status
DEBUG App - Here is some DEBUG
INFO  App - Here is some INFO
WARN  App - Here is some WARN 
ERROR App - Here is some ERROR
FATAL App - Here is some FATAL