日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

日志記錄最佳實踐

系統 1924 0

對于現在的應用程序來說,日志的重要性是不言而喻的。很難想象沒有任何日志記錄功能的應用程序運行在生產環境中。日志所能提供的功能是多種多樣的,包括記錄程序運行時產生的錯誤信息、狀態信息、調試信息和執行時間信息等。在生產環境中,日志是查找問題來源的重要依據。應用程序運行時的產生的各種信息,都應該通過日志 API 來進行記錄。

我們要記錄什么?
  • 完成某項操作所需的時間 ??

通過它可以跟蹤為什么系統響應變慢或者太快

    • 處理完一個請求所耗費的時間,精確到毫秒
    • 執行數據庫查詢的時間
    • 從磁盤或者存儲介質獲取數據的時間
    • 等等
  • 異常和堆棧跟蹤
  • Sessions

知道一個問題是由誰引起的非常重要,因此在日志中使用會話標識符就變得必不可少。它可以簡單到是一個 IP 地址或者是一個更復雜的 UUID,只要能區分不同的請求者就足夠。

  • 版本號
?
使用的最佳實踐
  • 使用第三方類庫

從發展方向上看,應該選擇slf4j和logback。 當根據網上的測試,還是log4j比較性能比較好。

  • 檢查日志是否可以被記錄
       if (LOGGER.isDebugEnabled()) { 

    LOGGER.debug("This is a message."); 

 }
    
  • 在適當的級別進行log
    • FATAL:導致程序提前結束的嚴重錯誤。
    • ERROR:運行時異常以及預期之外的錯誤。
    • WARN:預期之外的運行時狀況,不一定是錯誤的情況。
    • INFO:運行時產生的事件。
    • DEBUG:與程序運行時的流程相關的詳細信息。
    • TRACE:更加具體的詳細信息。
  • 謹慎修改配置文件
  • 第三方包的信息

自然是配角,不要顯示大量的第三方包中的debug信息。只顯示warning以上信息。

  • 日志包括線程和時間戳信息。

方便多線程下的調試。

  • 日志包含上下文信息。

系統出錯時,各個參數的信息,操作人員的信息。

  • 日志包含充分的信息

比如不應該為null的為null了;某個范圍的設置值超出范圍。

  • 你應該用機器可以解析的格式記錄日志

利用使用其他工具進行分析。

  • 不同業務領域使用不同的日志

比如系統登錄日志,郵件發送日志,訂單建立日志等等。

?

參考

Java開源日志框架大比拼

寫給開發者:記錄日志的10個建議

Java 日志管理最佳實踐

55最佳實踐系列:Logging最佳實踐

日志記錄最佳實踐


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 洪湖市| 鹰潭市| 科尔| 镇赉县| 宁城县| 濉溪县| 蓬莱市| 长垣县| 景谷| 吐鲁番市| 洛南县| 安康市| 咸宁市| 忻州市| 五指山市| 彰化市| 普定县| 北川| 东丰县| 湛江市| 小金县| 青海省| 阿图什市| 正蓝旗| 汉沽区| 泰宁县| 西昌市| 雅江县| 京山县| 怀化市| 章丘市| 莱州市| 阿拉善盟| 香港| 武功县| 宜黄县| 宁安市| 兴宁市| 湟源县| 绍兴市| 突泉县|