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教程,雖然可能有很多(較短)的,這取決於你需要什麼