石建 | Fat Mind

          日志級別與日志信息

          題記:日志記錄,對一個應用非常重要,不僅僅只為定位線上bug(exception日志),還有業務日志,比如:統計用戶的搜索詞、響應時間等。

          一、
          日志級別

          眾所周知,在log4j中定義5個最常用日志級別:debug、info、warn、error、fatal,級別依次嚴重。
          可大家思考過,什么時候應該記info,exception時是應該記warn,還是error呢 ?下面是今天小團隊討論后,自己的一些理解。

          debug:程序內部的信息,對于外部使用的人是沒有意義。比如:函數的執行時間。(fine-grained information events that are most useful to debug an application)debug記錄的是細粒度的事件信息,對于調式程序是非常有用的。

          info:informational messages that highlight the progress of the application at coarse-grained level.(強調應用的執行的進度,關鍵分支的記錄)。比如:關鍵分支記錄(輸入參數等),
          對運維工程師來說這些信息也是有價值的,info指明程序的運行是否符合正確的業務邏輯。

          對于warn與error級別,是我自己最困惑的 ?

          先講個形象的例子 :

                   有一天,李三說請你幫個忙,幫他收拾一下自行車,但是他的自行車是放在他自己家里的,房屋上鎖。
                   1、李三:給你鑰匙,此時你沒有工具,但是你可以用你自家的工具修理自行車。結果:完成任務;過程:存在問題,內部可以處理此問題。
                   2、李三:沒給你鑰匙,但給你工具或者沒給你工具,此時你不能接觸到自行車。結果:無法完成任務;過程:存在問題,無法處理此問題。

          結論:1情況,記warn;2情況,記error。觀點:關注的是最小單元的業務是否能夠完成,而對于應用來說,最小單元的業務就是“method方法”,每個方法去完成的任務都是一個獨立的、最小單元的業務。

          提醒:必須結合具體場景來判斷,比如:dao從數據庫獲取數據失敗,對自身來說是error,沒有完成獲取數據的任務;但對業務層來說,或者有其它方法修復此異常,如通過http重新獲取等,此時業務層是完成自身任務的,所以為warn。

          warn:potentially harmful situations.(潛在的有害狀態)。比如:廣告投放,淘寶搜索右側p4p廣告會根據地域展現,但某次用戶搜素,ip地址獲取失敗,可能會用默認值替代或者為空,但是并不影響右側廣告的展現。所以展現廣告的任務是完成的,對于業務來說是執行成功的,盡管過程中出現問題。

          error:error events that might still allow the application to continue running.(錯誤事件發生,程序或許依然能夠運行)。比如:廣告前段展現,通過http從引擎獲取數據時,因為引擎的機器連接數達到上限或者臨時網絡原因,timeout,但程序能正常運行,next請求引擎則成功。從函數角度看,此函數任務沒有完成,記error。

          fatal:very severe error events that will presumably lead the application to abort.(錯誤可能會導致應用崩潰)。


          對于日志級別,或許大家也會有自己的理解(如有不同意見,請大家指點)


          二、記錄信息

          這個話題簡單一點,三點:
          1、做什么操作
          2、輸入內容
          3、堆棧信息(有堆棧信息的情況下)


          posted on 2010-10-09 23:26 石建 | Fat Mind 閱讀(1808) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          導航

          <2010年10月>
          262728293012
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          統計

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          搜索

          最新評論

          What 、How、Why,從細節中尋找不斷的成長點
          主站蜘蛛池模板: 阳新县| 连山| 义乌市| 密山市| 巴楚县| 公安县| 若尔盖县| 波密县| 陈巴尔虎旗| 广宗县| 济南市| 毕节市| 合作市| 剑川县| 丹棱县| 富顺县| 眉山市| 衡山县| 慈溪市| 阳城县| 富川| 翁源县| 仙游县| 伊宁市| 万源市| 朝阳县| 彭州市| 扶余县| 仁寿县| 凉城县| 德阳市| 图片| 黄浦区| 榆林市| 卢龙县| 咸宁市| 永德县| 贡嘎县| 陕西省| 彭州市| 渝中区|