是否可能像“旧版”log4j一样,直接将System.out(OutputStream)写入日志文件?
我只找到了针对log4j而非log4j2的解决方案。
感谢任何帮助!
是否可能像“旧版”log4j一样,直接将System.out(OutputStream)写入日志文件?
我只找到了针对log4j而非log4j2的解决方案。
感谢任何帮助!
使用 log4j2-iostreams
模块非常容易。 假设我们想将所有来自 System.out
的消息发送到名称为 system.out
,日志级别为 INFO
的记录器中:
System.setOut(
IoBuilder.forLogger(LogManager.getLogger("system.out"))
.setLevel(Level.INFO)
.buildPrintStream()
);
System.out.println("Lorem ipsum");
使用以下 log4j2.properties
配置文件:
appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = %d [%p] %c - %m%n
rootLogger.level = info
rootLogger.appenderRef.stdout.ref = STDOUT
2017-10-28 12:38:22,623 [INFO] system.out - Lorem ipsum
org.apache.logging.log4j
log4j-iostreams
${log4j.version}
包含块:import org.apache.logging.log4j.Level; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.io.IoBuilder;
- Aldis