首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Log4j迁移到Log4j2时的RollingFileAppender实施

从Log4j迁移到Log4j2时的RollingFileAppender实施
EN

Stack Overflow用户
提问于 2020-04-08 15:00:00
回答 1查看 130关注 0票数 0

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

代码语言:javascript
复制
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);
        }
    } 
}

核心jars: log4j-api-2.12.1.jar,log4j- Log4j2 -2.12.1.jar

有没有人可以提供帮助,什么可能是正确的方法来处理上述方法?

EN

回答 1

Stack Overflow用户

发布于 2020-05-04 14:41:04

在我的示例中,我使用如下所示的xml配置

代码语言:javascript
复制
<?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,那么请遵循以下Link,并在Automatic Configuration上阅读从1到10的步骤

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61094958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档