作為一名經驗豐富的java開發人員,你應該了解可用的不同日志框架、常見陷阱和最佳實踐,當然,還應該了解常見部署場景中使用的日志文件類型。在本文中,會將告訴你在幾乎所有開發或生產環境中都可以找到的4種不同類型的日志。想學習java的同學可以參加java培訓,在專業老師的帶領下,可以獲得快速提升。
1.應用程序日志
大多數開發人員在談到日志時都會想到這個日志。原因很簡單。他們的應用程序生成此日志。它包含應用程序編寫的各種錯誤消息、警告或其他事件。這些消息可以提供與特定用例相關的邏輯、高級信息。典型示例如下:
l 用例中發生的異常的堆棧跟蹤。
l 有關外部系統響應時間慢的警告消息。
l 觸發或完成用例的信息。
應用程序日志可能是本文中提到的最重要的日志類型,因為你可以完全控制它。這意味著你負責編寫消息。
2.Web和應用程序服務器日志
大多數企業應用程序都部署到web服務器(例如Apache Tomcat)或應用程序服務器(例如Wildfly或WebSphere Liberty)。他們的日志文件為你提供有關技術問題和服務器當前狀態的信息。在java培訓中,有更加系統全面的課程,明確清晰的學習路線,學習起來既輕松,又高效。
每臺服務器的配置和功能各不相同。但請確保檢查服務器的文檔并進行相應配置。從服務器獲取正確的信息可以在及時發現潛在問題和服務器停機之間產生差異。
3.垃圾收集器日志
垃圾收集器提供自動內存管理。它跟蹤JVM中實例化的所有對象,并刪除不再使用的對象。這是一項非常復雜的任務,有幾種不同的垃圾收集器實現。
通常,Java中的垃圾收集過程非常有效。它的效率如此之高,以至于有許多應用程序使用默認實現及其標準配置。但是,如果應用程序必須處理高負載或使用大量復雜的對象結構,則應用程序的性能可能會隨著時間的推移而降低。當垃圾收集器需要花費越來越多的時間來管理可用內存時,通常會發生這種情況。垃圾收集器日志為你提供分析所有垃圾收集器活動所需的信息。想學習java更多技能,建議參加java培訓,課程實時更新,緊跟市場和企業,讓你學到最新的java技能,提高市場競爭力。
默認情況下,垃圾收集器日志被停用。你需要使用一組命令行屬性來激活它。用命令行屬性啟動應用程序后,垃圾收集器將會寫下所有操作的詳細信息。但是,生成的垃圾收集器日志的內容和格式取決于JVM的供應商和版本以及垃圾收集算法。
4.系統日志
前面討論的所有日志都是由JVM或在JVM中運行的應用程序編寫的。除了這些日志,你還應該熟悉操作系統編寫的日志。
作為Java開發人員,你很可能永遠不會自己寫入這些日志。但你的操作系統會將某些事件寫入這些日志。作為部署一部分的其他應用程序也可以做到這一點。因此,系統日志是獲取外部事件概覽的好地方。
如果你在Windows上運行應用程序,這是事件日志。在Linux上,你應該了解syslog服務及其后續服務。
Windows事件日志
Windows的事件日志包含應用程序、安全、設置、系統和轉發事件類別中的重要硬件和軟件事件。在java培訓中,培訓課程不僅注重理論,更注重項目的實戰能力,能夠讓你快速適應企業開發的進度,成為企業所需要的java人才。
特別是應用程序和系統類別的事件有助于了解發生在應用程序之外的事件。應用程序類別包含本地Windows系統上運行的其他應用程序報告的事件。硬件和驅動程序相關事件屬于系統類別。
Linux系統日志記錄
Linux的syslog服務及其繼任者提供了一個高度可配置的日志系統。它將應用程序或操作系統觸發的消息寫入文件或發送到遠程系統。
使用的日志記錄服務及其配置取決于你的Linux發行版。請查看文檔以了解有關特定操作系統的更多信息。
結論
日志記錄是軟件開發中的一個重要主題,特別是當你需要分析生產環境中的錯誤和其他意外事件時。實現日志記錄通常看起來很容易。但正如你可能親身經歷的那樣,日志記錄遠比看起來復雜得多。對java日志記錄感興趣的同學,可以參加Java培訓來獲得知識和技能,以便快速上崗。