英文:
RollingFileAppender implementation while migrating from Log4j to 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 的 jar 包: log4j-api-2.12.1.jar, log4j-core-2.12.1.jar
请问有人能提供帮助,指导如何正确处理上述方法吗?
英文:
The following method was being used for a while now when the system I am currently working on has Log4j. Now that we are moving from Log4j to Log4j2, I am getting compilation issues with it.
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
Can someone provide please help with what might be the right approach to deal with the above method?
答案1
得分: 0
在我的情况下,我使用以下的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执行"自动配置"。
英文:
In my case, I use xml
configuration like below
<?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>
If you want to use properties, YAML, JSON without xml than follow this Link and read steps from 1 to 10 at Automatic Configuration
专注分享java语言的经验与见解,让所有开发者获益!
评论