使用log4j2将System.out写入文件 [英] write System.out to file with log4j2
本文介绍了使用log4j2将System.out写入文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
是否可以像在旧" log4j中一样直接将System.out(OutputStream)写入日志文件?
Is it possible to write the System.out (OutputStream) directly to a log file like in the "old" log4j?
我只找到log4j的解决方案,而不是log4j2
I only find solutions for log4j, not log4j2
感谢您的帮助!
推荐答案
使用 log4j2-iostreams
模块非常容易.假设我们想将所有消息从 System.out
发送到名称为 system.out
的记录器,日志级别为 INFO
:
It is quite easy using log4j2-iostreams
module. Let's say we want to send all messages from System.out
to a logger with name system.out
with log level 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
我们应该在控制台中看到以下输出:
we should see the following output in the console:
2017-10-28 12:38:22,623 [INFO] system.out - Lorem ipsum
这篇关于使用log4j2将System.out写入文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文