Log4j日志记录输出流链接

ggazkfy8  于 2022-11-06  发布在  其他
关注(0)|答案(1)|浏览(169)

我有一个遗留的Java应用程序,它使用Log4J作为日志记录工具。该应用程序缺乏指标,所以我想找到一种方法来智能地检索一些基于Java类的指标。
问题是,我想在所有Log4j日志被服务之前截取它们。
这个想法的灵感来自System.out的链接,看起来像这样

TeeOutputStream myOut=new TeeOutputStream(System.out, mySpecificOut);
PrintStream ps = new PrintStream(myOut, true); //true - auto-flush after println
System.setOut(ps);

那么,是否有一种方法可以链接Log4j输出流,并在Java上完全控制它,因为我需要在日志记录之前执行一些逻辑操作。
谢谢

4nkexdtk

4nkexdtk1#

是的,您可以使用

LoggingOutputStream extends OutputStream {

和链条来拦截原木

System.setOut(new PrintStream(new LoggingOutputStream(

看一看基于innoq/log4j LoggingOutputStreamthis nice example

相关问题