爲什麼JDK的Logging API認爲這麼差?通過使用Apache Log4j等第三方日誌記錄API,我們會獲得什麼?JDK Logging API
回答
對於大多數情況下,java.util.Logging就好。大多數第三方日誌軟件包是在Standard API進行任何日誌記錄之前開發的。
Log4j是在JDK的Logging API之前創建的。如今,您應該更喜歡使用slf4j以外觀方式處理所有的java日誌記錄世界。
「應該」似乎相當明確,不是嗎? – Riduidel 2011-03-15 14:23:54
這並沒有真正回答這個問題,它只是修改它:爲什麼選擇(第三方依賴項)slf4j而不是(內置的)JUL? – 2011-03-15 14:24:00
@Riduidel糾正爲「應該更喜歡」,現在可以嗎?) – 2011-03-15 14:32:19
我在JDK的日誌記錄系統之上使用了一個非常非常薄的自寫層,因爲它易於使用,易於配置並易於擴展。即使沒有這個層,JDK的日誌記錄系統也是足夠的,因此我認爲不需要其他日誌API。另外,因爲它包含在JDK中,所以它應該被認爲是一個標準。
slf4j試圖成爲不是非常非常薄的層? – 2011-03-15 14:34:11
也許吧,但它試圖成爲所有日誌系統的一個非常非常薄的層。 :) – Bombe 2011-03-15 14:39:43
這是因爲JDK的Logger類不是接口。 因此,您對於如何完成日誌記錄沒有(非常少的)控制。
使用commons-logging,log4j,slf4j,您可以選擇如何以及在何處記錄消息。無論是在文件中,數據庫中,重定向到應用程序服務器日誌記錄等。 使用JDK日誌記錄您不能。它始終是一個文件。 如果你想要另一個日誌級別,你不能。
它確實使用像slf4j這樣的可變參數,所以你不必事先連接字符串消息。但其他缺點太大了。
這完全是無恥的。 Java日誌記錄支持一個Handler接口,它允許你記錄幾乎任何東西。它還有9個級別可以登錄 – gshauger 2011-05-18 22:44:12
- 1. Rails Logging API
- 2. commons-logging-api-1.1.jar vs. commons-logging-1.2.jar
- 3. Gradle Logging Output Levels
- 4. Elasticsearch java api錯誤java.lang.NoClassDefFoundError:org/apache/logging/log4j/Logger
- 5. PreparedStatement Logging
- 6. Logging InputStream
- 7. Logging Intellitrace?
- 8. JDK中的XML相關api
- 9. ASP.NET Core 1.0 logging
- 10. Spring Boot and Logging
- 11. Commons Logging - ClassNotFoundException
- 12. Kubernetes Liveness Probe Logging
- 13. Sinatra Logging&Stack Traces
- 14. Spring Boot Logging Configuration
- 15. Android Issue Logging ArrayList
- 16. django/python logging
- 17. Crashlytics Logging NSError
- 18. Strip Android NDK Logging
- 19. Shell-Script Logging
- 20. 問題logging arraylist
- 21. Spring Boot Jackson - Logging
- 22. log4net not logging ThreadContext
- 23. Akka Logging outside Actor
- 24. Gulp Watch Logging Issue
- 25. Apache HTTP Filter/Logging
- 26. Java Script Logging
- 27. Double Logging $ this
- 28. Perf4j Not Logging Correctly
- 29. Autofac,Users and Logging
- 30. PHPUnit + symfony2:Excesive logging
忽略歷史將是一個錯誤:log4j實際上早於java.util.logging(它只在1.4中添加)。所以它已經有3年左右的時間開始成爲標準。問題在於,它不像log4j成爲JUL的替代品而變得非常流行。 – 2011-03-15 14:19:49