是否可以將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