【问题标题】:Geneate Custom log Log4j.xml生成自定义日志 Log4j.xml
【发布时间】:2017-06-16 00:05:15
【问题描述】:

我在 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 列,例如“DateTime”“LogType”“JavafileName”“Message”

现在我想要第五列作为 userId。所以我期望输出文件将有 5 列作为“DateTime”“LogType”“JavafileName”“Message”“Counter”

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

是的,当然计数器是动态生成的,并且会进入简单的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 ------>");
}

【问题讨论】:

    标签: java xml logging log4j


    【解决方案1】:

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

    【讨论】:

    • 不,我并不是说我想打印 UserID 作为默认参数。我只是想打印一个在 java 程序中动态生成的参数。以计数器为例我已经用计数器代码更新了问题。
    • 然后将值输出为 logger.debug("value of counter = " + counter);
    • 但我希望它作为生成日志文件中的单独列。不与消息组合。
    • 你只有 log4j 列出的变量。除非你想重写它,否则你必须使用他们给你的东西。
    • 我们不能使用某种自定义附加程序吗?如果你有任何想法
    猜你喜欢
    • 2013-07-09
    • 1970-01-01
    • 1970-01-01
    • 2017-08-06
    • 1970-01-01
    • 2016-08-18
    • 1970-01-01
    • 2019-10-16
    相关资源
    最近更新 更多