提交 d233f206 编写于 作者: O o2null

Merge branch 'PR-log4j2-stdout-configable' into 'develop'

feat: 支持log4j stdout appender 外部可配置

See merge request o2oa/o2oa!2
package com.x.server.console.log;
import java.io.PrintStream;
import java.util.Map;
import org.apache.logging.log4j.core.Appender;
import org.apache.logging.log4j.core.LoggerContext;
import org.apache.logging.log4j.core.appender.OutputStreamAppender;
import org.apache.logging.log4j.core.config.Configuration;
import org.apache.logging.log4j.core.config.LoggerConfig;
import org.apache.logging.log4j.core.layout.PatternLayout;
import org.slf4j.LoggerFactory;
......@@ -34,12 +36,18 @@ public class Log4j2Configuration {
}
private static void addStandardOutAppender(final Configuration config, final PrintStream stdout) {
final LoggerConfig rootLogger = config.getRootLogger();
final Map<String, Appender> appenders = rootLogger.getAppenders();
//System.out.println("log4j appenders: " + appenders);
if (appenders.containsKey("stdout")) {
return;
}
final PatternLayout layout = PatternLayout.newBuilder().withConfiguration(config)
.withPattern(CONVERSION_PATTERN).build();
final Appender appender = OutputStreamAppender.createAppender(layout, null, stdout, "stdout", true, true);
appender.start();
config.addAppender(appender);
config.getRootLogger().addAppender(appender, null, null);
rootLogger.addAppender(appender, null, null);
}
private static void bypassErr(final PrintStream stderr) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册