應(yīng)用日志統(tǒng)一使用以下5種日志級(jí)別輸出;
FATAL級(jí)別:
表示需要立即被處理的系統(tǒng)級(jí)錯(cuò)誤春弥。當(dāng)該錯(cuò)誤發(fā)生時(shí),表示服務(wù)已經(jīng)出現(xiàn)了某種程度的不可用,系統(tǒng)管理員需要立即介入。這屬于最嚴(yán)重的日志級(jí)別蔫缸,因此該日志級(jí)別必須慎用街望,如果這種級(jí)別的日志經(jīng)常出現(xiàn),則該日志也失去了意義蔫敲。通常情況下裙犹,一個(gè)進(jìn)程的生命周期中應(yīng)該只記錄一次FATAL級(jí)別的日志袄膏,即該進(jìn)程遇到無法恢復(fù)的錯(cuò)誤而退出時(shí)悍及。當(dāng)然,如果某個(gè)系統(tǒng)的子系統(tǒng)遇到了不可恢復(fù)的錯(cuò)誤荔燎,那該子系統(tǒng)的調(diào)用方也可以記入FATAL級(jí)別日志,以便通過日志報(bào)警提醒系統(tǒng)管理員修復(fù);
ERROR級(jí)別:
該級(jí)別的錯(cuò)誤也需要馬上被處理,但是緊急程度要低于FATAL級(jí)別。當(dāng)ERROR錯(cuò)誤發(fā)生時(shí),已經(jīng)影響了用戶的正常訪問汤求。從該意義上來說竖独,實(shí)際上ERROR錯(cuò)誤和FATAL錯(cuò)誤對(duì)用戶的影響是相當(dāng)?shù)木荷拧ATAL相當(dāng)于服務(wù)已經(jīng)掛了锉走,而ERROR相當(dāng)于好死不如賴活著挪蹭,然而活著卻無法提供正常的服務(wù)懂算,只能不斷地打印ERROR日志。特別需要注意的是饮醇,ERROR和FATAL都屬于服務(wù)器自己的異常侮穿,是需要馬上得到人工介入并處理的。
WARN級(jí)別:
該日志表示系統(tǒng)可能出現(xiàn)問題克锣,也可能沒有娶耍,這種情況如網(wǎng)絡(luò)的波動(dòng)等紊婉。對(duì)于那些目前還不是錯(cuò)誤喻犁,然而不及時(shí)處理也會(huì)變?yōu)殄e(cuò)誤的情況肢础,也可以記為WARN日志慨蛙,例如一個(gè)存儲(chǔ)系統(tǒng)的磁盤使用量超過閥值,或者系統(tǒng)中某個(gè)用戶的存儲(chǔ)配額快用完等等烤蜕。對(duì)于WARN級(jí)別的日志,雖然不需要系統(tǒng)管理員馬上處理奏瞬,也是需要即使查看并處理的泉孩。因此此種級(jí)別的日志也不應(yīng)太多硼端,能不打WARN級(jí)別的日志,就盡量不要打寓搬;
INFO級(jí)別:
該種日志記錄系統(tǒng)的正常運(yùn)行狀態(tài)珍昨,例如某個(gè)子系統(tǒng)的初始化,某個(gè)請(qǐng)求的成功執(zhí)行等等句喷。通過查看INFO級(jí)別的日志镣典,可以很快地對(duì)系統(tǒng)中出現(xiàn)的WARN,ERROR,FATAL錯(cuò)誤進(jìn)行定位。
DEBUG級(jí)別:
這兩種日志具體的規(guī)范應(yīng)該由項(xiàng)目組自己定義唾琼,該級(jí)別日志的主要作用是對(duì)系統(tǒng)每一步的運(yùn)行狀態(tài)進(jìn)行精確的記錄兄春。通過該種日志,可以查看某一個(gè)操作每一步的執(zhí)行過程父叙,可以準(zhǔn)確定位是何種操作神郊,何種參數(shù),何種順序?qū)е铝四撤N錯(cuò)誤的發(fā)生趾唱∮咳椋可以保證在不重現(xiàn)錯(cuò)誤的情況下,也可以通過DEBUG(或TRACE)級(jí)別的日志對(duì)問題進(jìn)行診斷甜癞。需要注意的是夕晓,DEBUG日志也需要規(guī)范日志格式,應(yīng)該保證除了記錄日志的開發(fā)人員自己外悠咱,其他的如運(yùn)維蒸辆,測(cè)試人員等也可以通過DEBUG(或TRACE)日志來定位問題征炼;