簡體   English   中英

Spring框架中的java logging vs Log4j。 哪一個是最合適的

[英]java logging vs Log4j in Spring framework. Which one is the most suitable

我們正在使用Spring框架在Java中開發基於Web的應用程序。 我們想知道哪個Logging系統最適合它,無論是Log4j還是JUL(java.util.Logging),它與jdk集成在一起。 就我而言,前者在開發人員中更受歡迎,並提供更高的自定義選項,但我不確定哪個更容易適應spring。

任何幫助將不勝感激。

謝謝!

在開始使用log4j之前,請查看logback Log4j不應再用於新項目。 如果您有遺留代碼需要任何日志記錄框架,請使用slf4j使舊代碼與logback進行對話(如果必須,則使用log4j)。

您不應該使用JUL的主要原因是它實現了日志記錄所需的最低限度,配置很難,如果您使用任何不使用它的組件,您將不得不處理兩個日志記錄構架。

無論你在自己的代碼中使用哪種日志框架,我都記得,Spring對公共日志記錄有很強的依賴性。 您仍然可以使用您喜歡的任何內容進行自己的日志記錄(我建議使用SLF4J作為您的外觀,並使用logback作為您的實現),但Spring內部需要公共日志記錄。 您是否想要依賴多個框架是您的選擇; 它不應該證明是有問題的。

Spring使用commons日志記錄,這是一個日志抽象工具,但有sl4j沒有的問題。 Hibernate轉移到了slf4j - 我希望看到spring也這樣做,但我不認為他們在這方面有任何計划。

因此,只要你的日志抽象工具(使用slf4j)記錄到你在春天配置公共登錄的同一個日志框架,那么你就是好的。 一個日志配置。 您可能會找到適用於commons和slf4j的logback的適配器。

由於其他答案實際上沒有回答你的問題,我以為我會有一個問題。

首先,java.util.logging很糟糕。 這是一個痛苦的使用,並配置的痛苦。 Log4J在兩個方面都更好。 但是,您應該選擇最適合的人。 Spring使用commons-logging,反過來將使用log4j(如果在類路徑上找到)或java.util.logging。 換句話說,如果您的應用程序已經存在log4j,那么Spring將有效地使用它,您也應該如此。 如果log4j尚不存在,則使用java.util.logging(如果選擇),或者將log4j添加到類路徑並使用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM