2017-07-03 77 views
0

我想從Log4J 1.x遷移到Log4J 2,但同時我想讓Log4J支持任何外部功能(jar)使用Log4J。在Log4J中有自定義的appender,所以appender將根據使用插件的Log4J2重新編寫。所以需要兩個配置文件來支持每個版本,並且需要將這兩個版本中的日誌以與自定義appender中定義的格式相同的格式寫入相同的文件。Log4j 1和2 - 從兩個Log4J版本的自定義appender同時寫入同一個文件

我發現可以在一個版本中同時將多個appender寫入同一個文件,但是有可能來自兩個Log4J版本的appender同時寫入同一個文件嗎?如果是的話,這是一個推薦的做法,如果不推薦,請提出替代方案。

回答

1

使用Log4j2和Log4j 1.2(不是適配器,而是實際實現)來同時爲應用程序進行日誌記錄是一種不尋常的設置。

將兩個日誌記錄庫配置爲寫入同一個文件增加了更多的風險。它可能有效,可能不會。這當然不是這些庫設計的目的。

我不會推薦這樣的設置。

最安全的做法是推遲Log4j2遷移,直到log4j 1.2自定義appender移植到Log4j2。然後對使用Log4j 1.2 API的外部庫使用Log4j2實現和log4j-1.2-api-2.x適配器模塊。

+0

謝謝。這將是合適的。 –