繁体   English   中英

从 Log4j 迁移到 Log4j2 时的 RollingFileAppender 实现

[英]RollingFileAppender implementation while migrating from Log4j to Log4j2

当我目前正在使用的系统具有 Log4j 时,以下方法正在使用一段时间。 现在我们正在从 Log4j 迁移到 Log4j2,我遇到了编译问题。

private void initLogger(String logFile) {
    RollingFileAppender fileAppender = (RollingFileAppender) Logger.getRootLogger()
        .getAppender("FILE");

    if (logFile!=null && !"".equals(logFile)) {
        if (null != fileAppender) {
            fileAppender.setFile(logFile);
            fileAppender.activateOptions();
            fileAppender.setImmediateFlush(true);
        }
    } 
}

Log4j2 jars:log4j-api-2.12.1.jar,log4j-core-2.12.1.jar

有人可以提供有关处理上述方法的正确方法的帮助吗?

就我而言,我使用xml配置,如下所示

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
  <Appenders>
    <RollingFile name="RollingFile" fileName=".\logs\app.log"
                     filePattern=".\logs\$${date:yyyy-MM}\app-%d{MM-dd-yyyy}-%i.log.gz">
      <PatternLayout>
        <Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
      </PatternLayout>
      <Policies>
        <TimeBasedTriggeringPolicy />
        <SizeBasedTriggeringPolicy size="1 KB"/>
      </Policies>
      <DefaultRolloverStrategy max="20"/>
    </RollingFile>
  </Appenders>

  <Loggers>
    <Root level="all">
      <AppenderRef ref="RollingFile" />
    </Root>
  </Loggers>
</Configuration>

如果你想使用属性,YAML,JSON 没有 xml 比按照这个链接并阅读步骤从 1 到 10 在Automatic Configuration

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM