一、使用SLF4J外觀模式的日志框架

這個(gè)不用多說(shuō)了

二、創(chuàng)建日志的正確方法

我應(yīng)該什么時(shí)候?qū)懭罩荆?

如果出現(xiàn)問(wèn)題,可以打印日志來(lái)解決。好的系統(tǒng)可以通過(guò)日志找到問(wèn)題。遇到if else swtitch等分支時(shí),要在分支的第一行打印日志,以確定哪個(gè)分支經(jīng)常開(kāi)發(fā)為核心功能,請(qǐng)?jiān)谔峤淮a之前通過(guò)日志使用整個(gè)流程的參數(shù)化信息: logger.debug('財(cái)務(wù)存儲(chǔ)離線收據(jù),收據(jù)編號(hào):[{}],創(chuàng)建者:[{}]',這將生成許多字符串對(duì)象,占用空間,并影響性能。

logger.debug(" 財(cái)務(wù)保存線下收款單,收款單號(hào):[{}] ,創(chuàng)建人:[{}]", receiptTaskNo, creatEmp);

這樣的格式寫(xiě)法,可讀性更好,對(duì)于排查問(wèn)題更有幫助。

三、通常使用的不同級(jí)別的日志

ERROR:

該級(jí)別的錯(cuò)誤需要馬上被處理,當(dāng)ERROR錯(cuò)誤發(fā)生時(shí),已經(jīng)影響了用戶的正常訪問(wèn),是需要馬上得到管理員介入并處理的,常見(jiàn)的異常情況有:

  • 空指針異常
  • 打開(kāi)配置文件失敗
  • 所有第三方對(duì)接的異常(包括第三方返回錯(cuò)誤碼)
  • 所有影響功能使用的異常,包括:SQLException和除了業(yè)務(wù)異常之外的所有異常(RuntimeException和Exception)等等

如果有Throwable信息,需要記錄完成的堆棧信息:


log.error("獲取用戶[{}]的用戶信息時(shí)出錯(cuò)", userName, e);

如果進(jìn)行了拋出異常操作,請(qǐng)不要記錄error日志,由最終處理方進(jìn)行處理:

反例(不要這么做)

try { .... } catch (Exception e) { String errorMessage = "收款單審核異常:"; LOGGER.error("收款單審核異常", e); throw new ServiceException(errorMessage,e);}

ERROR:

不應(yīng)該出現(xiàn)但是不影響程序、當(dāng)前請(qǐng)求正常運(yùn)行的異常情況:

  • 有容錯(cuò)機(jī)制的時(shí)候出現(xiàn)的錯(cuò)誤情況
  • 找不到配置文件,但是系統(tǒng)能自動(dòng)創(chuàng)建配置文件
  • 性能即將接近臨界值的時(shí)候,例如:緩存池占用達(dá)到警告線
  • 業(yè)務(wù)異常的記錄,危險(xiǎn)操作。比如:當(dāng)接口拋出業(yè)務(wù)異常時(shí),應(yīng)該記錄此異常

INFO:

系統(tǒng)運(yùn)行信息

  • Service方法中對(duì)于系統(tǒng)/業(yè)務(wù)狀態(tài)的變更
  • 主要邏輯中的分步驟
  • 定時(shí)任務(wù)等

外部接口部分

  • 客戶端請(qǐng)求參數(shù)
  • 遠(yuǎn)程服務(wù)調(diào)用參數(shù)和調(diào)用結(jié)果

注意:

\1. 并不是所有的service都進(jìn)行出入口打點(diǎn)記錄,單一、簡(jiǎn)單service是沒(méi)有意義的

\2. 對(duì)于復(fù)雜的業(yè)務(wù)邏輯,需要進(jìn)行日志打點(diǎn),以及埋點(diǎn)記錄,比如電商系統(tǒng)中的下訂單邏輯,以及業(yè)務(wù)狀態(tài)變更。

\3. 對(duì)于整個(gè)系統(tǒng)的提供出的接口,使用info記錄入?yún)?/p>

\4. 調(diào)用其他第三方服務(wù)時(shí),所有的出參和入?yún)⑹潜仨氁涗浀?因?yàn)槟愫茈y追溯第三方模塊發(fā)生的問(wèn)題)



1.《關(guān)于怎么使用打印機(jī)日記,你需要知道這些業(yè)務(wù)日志打印的正確姿勢(shì)》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識(shí),僅代表作者本人觀點(diǎn),與本網(wǎng)站無(wú)關(guān),侵刪請(qǐng)聯(lián)系頁(yè)腳下方聯(lián)系方式。

2.《關(guān)于怎么使用打印機(jī)日記,你需要知道這些業(yè)務(wù)日志打印的正確姿勢(shì)》僅供讀者參考,本網(wǎng)站未對(duì)該內(nèi)容進(jìn)行證實(shí),對(duì)其原創(chuàng)性、真實(shí)性、完整性、及時(shí)性不作任何保證。

3.文章轉(zhuǎn)載時(shí)請(qǐng)保留本站內(nèi)容來(lái)源地址,http://f99ss.com/why/3029997.html