log 的5個日誌級別 例

2021-08-03 05:41:21 字數 2215 閱讀 3353

× debug

× info

× warn

× error

× fatal

=== debug ===

這個級別最低,一般的來說,在系統實際執行過程中,一般都是不輸出的。

因此這個級別的資訊,可以隨意的使用,任何覺得有利於在除錯時更詳細的了解系統執行狀態的東東,比如變數的值等等,都輸出來看看也無妨。

當然,在每乙個 debug 呼叫之前,一定要加上 if 判斷。

=== info ===

這個應該用來反饋系統的當前狀態給終端使用者的,所以,在這裡輸出的資訊,應該對終端使用者具有實際意義,也就是終端使用者要能夠看得明白是什麼意思才行。

從某種角度上說,info 輸出的資訊可以看作是軟體產品的一部分(就像那些互動介面上的文字一樣),所以需要謹慎對待,不可隨便。

=== warn、error、fatal ===

警告、錯誤、嚴重錯誤,這三者應該都在系統執行時檢測到了乙個不正常的狀態,他們之間的區別,要區分還真不是那麼簡單的事情。我大致是這樣區分的:

所謂警告,應該是這個時候進行一些修復性的工作,應該還可以把系統恢復到正常狀態中來,系統應該可以繼續執行下去。

所謂錯誤,就是說可以進行一些修復性的工作,但無法確定系統會正常的工作下去,系統在以後的某個階段,很可能會因為當前的這個問題,導致乙個無法修復的錯誤(例如宕機),但也可能一直工作到停止也不出現嚴重問題。

所謂fatal,那就是相當嚴重的了,可以肯定這種錯誤已經無法修復,並且如果系統繼續執行下去的話,可以肯定必然會越來越亂。這時候採取的最好的措施不是試圖將系統狀態恢復到正常,而是盡可能地保留系統有效資料並停止執行。

也就是說,選擇 warn、error、fatal 中的具體哪乙個,是根據當前的這個問題對以後可能產生的影響而定的,如果對以後基本沒什麼影響,則警告之,如果肯定是以後要出嚴重問題的了,則fatal之,拿不準會怎麼樣,則 error 之。

//1.檢查登入資訊物件:null判斷

if (null == login)

//2欄位格式檢查

if (bindingresult.haserrors())

//has error

log.error(「使用者登入失敗-請求引數錯誤;username=」 + login.getloginnm());

//redirect index.jsp

request.getsession().setattribute(loginstate, 「1」);

login.setloginstate(「1」);

login.setpasswd(「」);

model.addattribute(「login」, login);

return index;

}//3. 第一登入失敗,再次登入需輸入驗證碼,判斷驗證碼是否正確

if(「1」.equals(request.getsession().getattribute(loginstate)))

}try

//4. 密碼檢查

boolean ispwdexist = loginservice.passwordchk( dto.getloginname(), login.getpasswd(), dto.getpassword());

if (!ispwdexist)

//3.獲取使用者認證及支付資訊

payauthinfodto payinfodto = payservice.getpayauthinfobycuscode(dto.getcuscode());

//4. 建立session資料

user user = new user();

if (null != payinfodto) else

usersession.setuser(request, user);

log.debug(「使用者登入結束」);

} catch (bizexception e) catch (exception e) finally

return reuserindex;

} log.error() 一般是需要if()的;

log.info()一般是在try catch 裡面

log.debug() 做記錄一般標誌著方法的開始和結束。

Log 日誌級別

日誌記錄器 logger 是日誌處理的核心元件。log4j具有5種正常級別 level 1.static level debug debug level指出細粒度資訊事件對除錯應用程式是非常有幫助的。2.static level info info level表明 訊息在粗粒度級別上突出強調應用程式...

Log 日誌級別

日誌記錄器 logger 是日誌處理的核心元件。log4j具有5種正常級別 level 1.static level debug debug level指出細粒度資訊事件對除錯應用程式是非常有幫助的。2.static level info info level表明 訊息在粗粒度級別上突出強調應用程式...

日誌的5個級別

本文最初發布於aib42個人 經原作者授權由infoq中文站翻譯並分享。日誌記錄是軟體開發的乙個概念,幾乎所有 可能並不是所有 軟體都能從日誌記錄中獲得很多好處。在開始乙個大專案時,日誌記錄通常是我第乙個要搭建的子系統。關於它的好處,我可以說出一大堆,但我想把這個機會留給其他人 或者哪一天我想說了再...