我有一个遗留的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上完全控制它,因为我需要在日志记录之前执行一些逻辑操作。
谢谢
1条答案
按热度按时间4nkexdtk1#
是的,您可以使用
和链条来拦截原木
看一看基于innoq/log4j LoggingOutputStream的this nice example。