2013-04-05 2 views
2

У меня есть этот log4j.configнастроить log4j файл

<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 создается firt время и одну строку, как, например, этот файл журнала, возможно ли это от log4j. конфиг?

Я видел, что это возможно ан log4net с:

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

Есть ли что-то подобное в log4j?

ответ

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 
Смежные вопросы