生成自定义日志Log4j.xml

时间:2017-01-30 18:06:16

标签: java xml logging log4j

我在java&中有简单的程序想要使用log4j.xml生成自定义日志

我使用底部提到的代码获得以下输出。

2017-01-30 23:23:03 DEBUG Log4jXmlConfigurationExample:13 - Log4j appender configuration is successful !!
2017-01-30 23:23:03 INFO  Log4jXmlConfigurationExample:15 - Info message ---------- >
2017-01-30 23:23:03 ERROR Log4jXmlConfigurationExample:17 - Error message ------>

在这里,我得到4列,如#34; DateTime" "日志类型" " JavafileName" "消息"

现在我希望第五列为userId。所以我希望输出文件有5列作为" DateTime" "日志类型" " JavafileName" "消息" "计数器"

有人可以在这里帮忙如何在log4j.xml中进行自定义更改

Yes ofcourse计数器将动态生成并将进入简单的java程序

log4.xml

<appender name="file" class="org.apache.log4j.RollingFileAppender">
    <param name="append" value="false" />
    <param name="maxFileSize" value="10MB" />
    <param name="maxBackupIndex" value="10" />
    <param name="file" value="C:/Users/ADMIN/Desktop/Logs/my_logs.log" />
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern"
        value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
    </layout>
</appender>

<root>
    <level value="DEBUG" />
    <appender-ref ref="console" />
    <appender-ref ref="file" />
</root> 

Java代码

public static int counter =1;
public static void main(String[] args) {
    DOMConfigurator.configure("log4j-config.xml");
    counter++; 
    logger.debug("Log4j appender configuration is successful !!");
    counter++;      
    logger.info("Info message ---------- >");       
    counter++;
    logger.error("Error message ------>");
}

1 个答案:

答案 0 :(得分:0)

使用的变量(例如%d)列在转换模式中:https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html 我没有看到用户ID