【问题标题】:How to set log4j 2.x output path after reading in log4j.xml读取 log4j.xml 后如何设置 log4j 2.x 输出路径
【发布时间】:2022-01-13 17:50:43
【问题描述】:

假设我在下面的 log4j.xml 文件中定义了一个附加程序。

<appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender">
            <param name="File" value="/home/logs/oarm_log.txt" />
            <param name="DatePattern" value="'.'yyyy-MM-dd-HH" />
            <layout class="org.apache.log4j.PatternLayout">
                 <param name="ConversionPattern" value="%d %-5p[app=%log4j.webapp.name%] [%t] %c - %m\n" />
            </layout>
    </appender>

如何将值 "/home/logs/oarm_log.txt" 更改为来自实际 Java 代码中的字符串的不同值,以便代码确定在哪里输出.txt 文件?

【问题讨论】:

    标签: java xml log4j log4j2


    【解决方案1】:

    虽然您最好的参考资源是 Log4j 的 official documentation,但我将列出另外两个可以帮助您的参考资料。

    Baeldung 是我最喜欢的 Java 博客之一。你可以通过this article.

    你也可以参考这个Stackoverflow answer

    如果你赶时间,看看下面的代码sn-p。

            final LoggerContext ctx = (LoggerContext) LogManager.getContext(false);
            final Configuration config = ctx.getConfiguration();
            final Layout layout = PatternLayout.createDefaultLayout(config);
            Appender appender = FileAppender.createAppender("path/to/logFile.log", "false", "false", "File", "true",
                "false", "false", "4000", layout, null, "false", null, config);
            appender.start();
            config.addAppender(appender);
            AppenderRef ref = AppenderRef.createAppenderRef("File", null, null);
            AppenderRef[] refs = new AppenderRef[] {ref};
            LoggerConfig loggerConfig = LoggerConfig.createLogger("false", "info", "org.apache.logging.log4j",
                "true", refs, null, config, null );
            loggerConfig.addAppender(appender, null, null);
            config.addLogger("org.apache.logging.log4j", loggerConfig);
            ctx.updateLoggers();
    

    【讨论】:

      猜你喜欢
      • 2016-02-17
      • 1970-01-01
      • 1970-01-01
      • 2016-05-12
      • 2012-10-20
      • 1970-01-01
      • 1970-01-01
      • 2011-02-03
      • 2013-05-18
      相关资源
      最近更新 更多