当我目前使用的系统有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);
}
}
}核心jars: log4j-api-2.12.1.jar,log4j- Log4j2 -2.12.1.jar
有没有人可以提供帮助,什么可能是正确的方法来处理上述方法?
发布于 2020-05-04 14:41:04
在我的示例中,我使用如下所示的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,那么请遵循以下Link,并在Automatic Configuration上阅读从1到10的步骤
https://stackoverflow.com/questions/61094958
复制相似问题