c ,java工程開發如何做好異常處理和日誌記錄

時間 2021-05-29 23:05:32

1樓:

我認為這沒有乙個統一的約定,只是你自己用的舒服即可.明顯的2個用處,出錯的時候不用debug或者遠端debug,看日誌就能看出問題在哪. 如果需要高階的平行計算,copy過去就能用.

以下是我的通常用法:

1 有單機的和分布式的.單機的就是打到log檔案中,分布式收集比如: Scribe,具體請google

2 一行日誌包含什麼內容

這是我的做法: ip 時間業務入參返回異常使用者等.如果是rpc,還得關聯分上游和下游的日誌是同乙個業務.

如下是我日誌的內容:

public void info(String uri,String oper, String biz, Object... obj)

ip是本機ip,如果集群的話,可以分辨是哪個機器上的.

這是乙個restful的日誌,所以有uri

oper記錄了這是開始結束異常輸入輸出轉換呼叫等

biz是業務,比如登入登出

3 什麼時候需要列印日誌

(1) 還是以rest為例, 每個請求的開始,輸入,輸出,結束,異常(如果有)我都會打,就像這樣:

(日誌太大,截個圖吧)

如果這個業務很複雜,比如快取,db,其他服務,或者這個有許可權驗證,ip限制,就在其中增加debug,除錯的時候可以看,上線的時候,也容易吧debug和info分開(這個是info,關於日誌的工具,稍後容稟)

(2) 每個pv打乙個,很明顯是統計pv

(3) sql語句,如果可以最好打乙個,萬一需要優化呢

(4) 資料庫連線池的初始化,redis sentinal的初始化,zk heart,dubbo註冊,許可權認證 ip限制都要debug打出來,有問題能及時發現,不需要時改個日誌級別就隱藏.

4 日誌工具

我自己覺得logback最好用,可以隨意輸出到不同的檔案,持久化儲存,任意切分檔案.根據package任意管理,根據級別管理,關鍵是這也還TM能組合起來用.好用!!

5 補充:

日誌這玩意一般情況下在開發環境中都是整合的,你什麼都不用做,就會打日誌了

2樓:Victory

同高票答案。使用setDefaultUncaughtExceptionHandler...因為簡單無腦且容易教會隊友。

記日誌,多半是為了查問題的時候,而且有錯需要報警啊...所以我們上了elasticsearch + logstash 同簡單無腦易操作。

再之後我們資料量不大= =咩哈哈

3樓:

create some exception translator and translate into unexpected exception and log use logging frameworks like log4j to different logs. Use logscan to notify you of different errors.

After you are digging into more of the unexpected exception, adding more translation logic to the translator.

4樓:

異常也要分系統異常和業務場景異常

前者最好直接捕獲然後處理,也可以封裝成業務異常丟擲去。

業務場景異常也分需要告知使用者的,比如使用者名稱格式錯誤。。。不用告知的,那麼就默默處理了。

日誌的話,本地就寫rolling file,分布式可以寫到庫裡面去

5樓:Xi Yang

你是在做什麼專案?

日誌記錄隨你便啊,最簡單的當然是print到乙個log檔案。你可以用作業系統裡面附帶的log設施,這個我不太熟悉。

第三方庫會丟擲什麼異常,它應當寫清楚。你可以嘗試捕獲std::exception類,異常型別通常會繼承這個類。

工程圖紙如何做好版本控制?

阿熊男 改圖?先提更改流程,然後拿到更改流程號碼,去公升級你的圖紙,請同事或前輩審圖,批圖。此時圖紙狀態為不可用。另外有專人監控變更流程。圖紙版本由pdm系統自動控制,更改結束後圖紙狀態顯示為可用。然後pdm系統通知各相關部門有變更資訊,負責的同事把變更的圖紙重新整理到一線。所以,一提要改已經發布的...

如何做好建築工程的驗收工作

保標招標 1 完成工程設計和合同約定的各項內容。2 施工單位在工程完成工後,根據國家有關法律 法規和工程建設強制性標準和 設計檔案及合同要求,對工程質量進行了檢查確認。3 有完整的技術檔案和施工管理資料。4 有工程使用的主要建築材料 建築構配件和裝置的進場試驗報告。5 已簽署工程質量保修書。6 向建...

如何做好甲方工程建設管理工作?

地產汪星人 今天上午下雨,空氣裡潮乎乎的,上班路上車輛依然不少,睡眠不足早上腦袋嗡嗡的,開車行到半路才發現手機忘記帶,又折回去拿手機,差點誤了上班的點。工地不再有柳絮亂飛,空氣不再汙濁,一棟棟樓座看的格外清晰,硬化路面被壓壞的地方變得泥濘無比,深一腳淺一腳,舉步難行。我的虎子也不敢開進去,生怕託了底...