對于現在的應用程序來說,日志的重要性是不言而喻的。很難想象沒有任何日志記錄功能的應用程序運行在生產環境中。日志所能提供的功能是多種多樣的,包括記錄程序運行時產生的錯誤信息、狀態信息、調試信息和執行時間信息等。在生產環境中,日志是查找問題來源的重要依據。應用程序運行時的產生的各種信息,都應該通過日志 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了;某個范圍的設置值超出范圍。
- 你應該用機器可以解析的格式記錄日志
利用使用其他工具進行分析。
- 不同業務領域使用不同的日志
比如系統登錄日志,郵件發送日志,訂單建立日志等等。
?
參考
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

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