2014-10-11 114 views
2

是否可以将System.out(OutputStream)直接写入日志文件,如“旧”log4j中?将System.out写入log4j2文件

我只找到log4j的解决方案,而log4j2

感谢您的帮助!

回答

1

即将发布的2.1版本包含一个新的log4j-iostreams模块,可以做到这一点和更多。应该很快出来。

如果您很着急,可以查看master的最新源代码并构建2.1快照。

+2

thx,你能给我任何代码示例吗? – Niko 2014-10-17 10:00:04

+1

刚刚下载log4j2-5,仍然无法弄清楚如何将system.out发送到文件 – 2015-12-15 22:00:27

0

使用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