Api_God日志處理


關(guān)于日志方面的一些感悟。
隨著學(xué)習(xí)的逐漸深入,越來越感覺通過日志排查線上運行腳本的異常情況真的很重要,所以我認(rèn)為程序的健壯很需要運行日志的支撐!

  • 日志應(yīng)該怎樣添加呢?

  • 首先應(yīng)該建立自己的日志類
  • 其次找到程序中的關(guān)鍵點,進(jìn)行日志輸出
  • 第三日志輸出盡量在程序底層,盡量不要放在業(yè)務(wù)層進(jìn)行輸出

下面分別說一下:

  • 建立自己的日志類:

比如python中提供的logging模塊,我們可以根據(jù)模塊中提供的功能進(jìn)行二次封裝,從而達(dá)到自定義輸出的效果,例如:控制日志的輸出級別、控制日志的記錄字段屬性、定義日志文件大小、定義日志文件存放路徑、定義日志刪除機制
參照:日志類

  • 程序中添加日志的關(guān)鍵點:

  • 在狀態(tài)產(chǎn)生變化的地方添加日志
    關(guān)鍵階段狀態(tài)記錄,對于程序運行情況更加了解

  • 系統(tǒng)入口與出口
    例如:運行的環(huán)境不同,此時輸出一個日志會節(jié)省很多排查問題的時間

  • 請求異常
    這種日志的必然要添加的,在處理異常請求的時候,一定要把異常信息存起來,日后在排查問題的時候這是主要依據(jù)

  • 非預(yù)期執(zhí)行
    字面可以理解,我們不想看到的情況發(fā)生了,此時我們要記下來,結(jié)合前面的日志分析出現(xiàn)原因

  • 很少出現(xiàn)的else情況
    else 可能吞掉你的請求,或是賦予難以理解的最終結(jié)果

  • 程序運行狀態(tài)

    • 程序運行時間
    • 大批量數(shù)據(jù)的執(zhí)行進(jìn)度
    • 關(guān)鍵變量及正在做哪些重要的事情
      執(zhí)行關(guān)鍵的邏輯,做IO操作等等
  • 避免在業(yè)務(wù)層添加日志

  • 業(yè)務(wù)層處理的全部為業(yè)務(wù)邏輯相關(guān)事情,相對來說比較零散,分散度比較高,例如:最簡單的模型【方法實現(xiàn)+業(yè)務(wù)】,一般在方法封裝的比較完整情況下,業(yè)務(wù)層中,也只是拼裝方法,從而達(dá)到實現(xiàn)業(yè)務(wù)邏輯的效果;既然是這樣,那我們還不如就在方法層中添加日志了,能達(dá)到在業(yè)務(wù)層中添加日志同樣的效果,最主要的是還能一勞永逸;

一點不成熟的小想法,后期在持續(xù)增加

@雨 --2016-10-27 16:40:04

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,724評論 19 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,366評論 25 708
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,290評論 6 342
  • 我也想在打雷下雨的天氣,一個人在自己買下的高級公寓里,喝著紅酒,開心的看著窗外的閃電,興奮的大叫“好漂亮!”
    蝦肉云吞閱讀 208評論 0 1

友情鏈接更多精彩內(nèi)容