1
我正在使用的系统使用库,该库使用log4j
打印其结果。我不熟悉log4j
的能力,所以我不知道如何捕捉结果。该库使用可以更改的配置文件,因此我可以操作输出。我想要做的是在流中捕获输出而不将其写入FS。我尝试重定向System.out
,但最终重定向了调用方类的System.out
,而不是log4j
。将log4j stdout重定向到InputStream
我正在使用的系统使用库,该库使用log4j
打印其结果。我不熟悉log4j
的能力,所以我不知道如何捕捉结果。该库使用可以更改的配置文件,因此我可以操作输出。我想要做的是在流中捕获输出而不将其写入FS。我尝试重定向System.out
,但最终重定向了调用方类的System.out
,而不是log4j
。将log4j stdout重定向到InputStream
所以,从你的问题,我认为你知道你可以有appender,例如,写入文件或stdout。
现在,它看起来像要写入到您自己的OutputStream,这意味着您无论如何都需要以编程方式访问该对象。然后我会说你需要编写你自己的appender,这实际上很简单。这里有一个enter link description here教程,虽然可能有很多(较短)的,这取决于你需要什么