Java 日誌記錄
外觀
| 本書是一個未完成的草稿或提綱。 您可以幫助開發作品,或者您可以在專案室尋求幫助。 |
(此處有精美的 TimePlot 影像)
日誌的用途
- 允許程式向外部程式指示緊急情況,然後這些程式可以調查並採取行動。
- 提供帶時間戳的標記,用於效能分析。
- 提供有關正在處理的內容的資訊,以便以後進行取證分析。
- 事件的時間戳。
程式設計中的日誌記錄是程式碼可能在生成資訊之前幾年就已寫好的領域之一,並且您幾乎不知道那時可能需要知道什麼。如果您能預見,您可以在那時就繞過它。
需要一個基於維基的參考來幫助程式設計師建立更好的日誌。重點不是全面的概述,而是根據場景使用 slf4j 和 logback/java.util.logging.Logger 的“最佳實踐”方法。
- 從 http://slf4j.org/download.html 下載並解壓縮 SLF4J 的最新版本
- 將 slf4j-api-X.Y.Z.jar 和 slf4j-simple-X.Y.Z.jar 放置到您的類路徑中。
- 使用
Logger log = LoggerFactory.getLogger(this.getClass())和log.info("At {} with {}", a, b);來記錄資訊。
((示例程式碼))
- 帶有列印語句的示例 Java 程式。
- 上述 Java 程式的輸出。
Java 新手學習的第一件事是使用 System.out.println("....") 來檢視他們程式的“內部”,這經常導致程式每次執行時列印大量資訊。有些資訊非常重要,需要人工操作,有些只是庫正常工作的微不足道的指示,有些包含堆疊跟蹤。對於有多個執行緒同時執行的複雜程式,單個訊息甚至可能混合在一起,以至於“訊息 1”和“訊息 2”變成“MMessagessag 1e 2”。您可能還需要將日誌儲存在檔案中,而不是 System.out(對於某些平臺,甚至無法使用)。
- 與之前相同的示例 Java 程式,但使用 slf4j 語句。
- 生成的日誌檔案。