log4j - 配置log4j文件

标签 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 中是可能的:

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

log4j中有类似的东西吗?

最佳答案

好吧,经过一番研究,我找到了解决我问题的方法,说是否有人有用。

我创建了一个自定义附加程序:

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

关于log4j - 配置log4j文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15832978/

相关文章:

java - 如何覆盖 log4j.properties 的特定值?

java - AsyncAppender 在写入之前不会等待缓冲区已满

java - 嵌入式 Jetty 的 Log4J 集成

java - 切换服务器后Log4j已停止工作(Grals 2.5.1项目)

java - 动态加载属性文件中的属性值

java - log4j FileAppender 如何被弃用

java - Weblogic 中 2 只耳朵的 Log4j 日志记录问题

java - 为什么我的类路径最后只能使用冒号?

java - Kafka Log4j 附加程序中的延迟

java - Log4j2 突出显示模式在文本编辑器中不起作用?