是否可以像“旧”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
关于java - 使用 log4j2 将 System.out 写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26318295/