簡體   English   中英

如何使用Java語言使用logger.log(LEVEL.DEBUG,消息/實例)

[英]How to use logger.log(LEVEL.DEBUG,message/instance) in Java language

我是Java的新手,並且(有人告訴我)知道logger.log(LEVEL.DEBUG,message / instance)在跟蹤或獲取Java語言的日志信息方面很有用,我用Google搜索並看到了許多SO線程,但無法獲得任何幫助,我想知道它的用途以及如何從此方法中獲得最大的收益。

我將從以下Google搜索開始:

logging best practices java

我得到的第一個鏈接是this ,它說明了何時使用每個日志級別。

現在,為了提供一些背景信息,日志級別用於輕松地對大量日志文件進行切片和切分。 假設您有一個Web應用程序,該應用程序為每個用戶的特定單擊操作創建了一個日志。 如果該Web應用程序有數千名用戶同時登錄到該應用程序,則最終每分鍾可能會有數百萬行日志。 您如何確定哪個日志對您很重要? 瀏覽數百萬行不是很明智,是嗎?

作為開發人員,您可能只對ERROR或WARN感興趣。 營銷人員可能對INFO日志感興趣,該INFO日志指示哪些網頁或網站的某些部分受到的點擊最多,網絡人員可能希望查看指示嚴重服務器問題的日志。

SLF4J還允許您創建自定義標記。 您可以在日志中添加標記,以從日志中獲得更大的業務價值。

最后,我想說的是,一旦代碼投入生產,就將日志視為最好的朋友。 您使用級別,標記等組織的日志越好,您越早就能調試問題並及時做出響應。

聽起來有人在向您提供有關Apache日志記錄(“ DEBUG”)的信息,但是其目的與您在帖子中顯示的日志本質上是相同的:即(通常)向開發人員提供有用的信息查看代碼時。

java.util.logging.Level中有幾個可用的日志記錄級別。 這些用於控制日志記錄級別中詳細描述的日志記錄級別。

嚴重-表示嚴重問題警告-通常用於表示潛在問題INFO-用於信息消息CONFIG-用於靜態配置消息FINE-提供一些跟蹤信息FINER-提供比FINE FINEST更多的跟蹤信息-提供最多的跟蹤信息ALL -關閉所有消息-關閉記錄儀

如果您希望提供開發人員會在代碼中發現有趣的信息,則可能要使用FINE,FINER或FINEST,這取決於要提供的信息量。 不過,在生產環境中通常不建議這樣做,因為多余的細節可能會變得非常垃圾。 通常在這種環境中,使用INFO或WARN的日志記錄級別,然后僅在發生主要問題且無法輕松在本地復制時才啟用跟蹤信息。

當您調用log(LEVEL,String message)時,將根據閾值(通常在屬性文件中設置)檢查消息的級別,以查看是否需要記錄該消息。 如果是這樣,則配置的附加程序會在適當的位置(控制台,文件等)添加發布消息。

我還建議使用第三方庫(例如Apache的Log4J)來增強日志記錄功能。 參見org.apache.log4j.Level 它實質上提供了對日志記錄的更精細控制,並使用“級別”術語來更正確地定義要附加的消息的級別。

DEBUG與FINE類似,TRACE與FINEST類似,ERROR和FATAL與SEVERE類似,等等。

這有幫助嗎?

暫無
暫無

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

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