是否可以将System.out(OutputStream)直接写入日志文件,如“旧”log4j中?将System.out写入log4j2文件
我只找到log4j的解决方案,而log4j2
感谢您的帮助!
是否可以将System.out(OutputStream)直接写入日志文件,如“旧”log4j中?将System.out写入log4j2文件
我只找到log4j的解决方案,而log4j2
感谢您的帮助!
即将发布的2.1版本包含一个新的log4j-iostreams模块,可以做到这一点和更多。应该很快出来。
如果您很着急,可以查看master的最新源代码并构建2.1快照。
使用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
thx,你能给我任何代码示例吗? – Niko 2014-10-17 10:00:04
刚刚下载log4j2-5,仍然无法弄清楚如何将system.out发送到文件 – 2015-12-15 22:00:27