日誌規範 阿里java規範中內容

2021-09-10 06:17:29 字數 1052 閱讀 4960

【強制】應用中不可直接使用日誌系統(log4j、logback)中的 api,而應依賴使用日誌框架

slf4j 中的 api,使用門面模式的日誌框架,有利於維護和各個類的日誌處理方式統一。

import org.slf4j.logger;

import org.slf4j.logge***ctory;

private static final logger logger = logge***ctory.getlogger(abc.class);

【強制】日誌檔案推薦至少儲存 15 天,因為有些異常具備以「周」為頻次發生的特點。

【強制】對 trace/debug/info 級別的日誌輸出,必須使用條件輸出形式或者使用佔位符的方

式。說明:logger.debug("processing trade with id: " + id + " and symbol: " + symbol);

如果日誌級別是 warn,上述日誌不會列印,但是會執行字串拼接操作,如果 symbol 是物件,

會執行 tostring()方法,浪費了系統資源,執行了上述操作,最終日誌卻沒有列印。

正例:(條件)

if (logger.isdebugenabled())

正例:(佔位符)

logger.debug("processing trade with id: {} and symbol : {} ", id, symbol);

【強制】避免重複列印日誌,浪費磁碟空間,務必在 log4j.xml 中設定 additivity=false。

正例:【強制】異常資訊應該包括兩類資訊:案發現場資訊和異常堆疊資訊。如果不處理,那麼通過

關鍵字 throws 往上丟擲。

正例:logger.error(各類引數或者物件 tostring + 「_」 + e.getmessage(), e);

【參考】可以使用 warn 日誌級別來記錄使用者輸入引數錯誤的情況,避免使用者投訴時,無所適

從。注意日誌輸出的級別,error 級別只記錄系統邏輯出錯、異常等重要的錯誤資訊。如非必

要,請不要在此場景打出 error 級別

阿里的java 程式設計規範解析

傳送門 執行緒池 1 強制 不允許使用executors建立執行緒池,而是通過threadpoolexecutor的方式,讓寫同學更加明確執行緒池執行規則,避免耗盡執行緒資源風險 afixedthreadpool和singlethreadpool允許的請求最大深度為integer.max value...

阿里編碼規範核心內容

do dto bo vo rpc 遠端呼叫框架 集合轉陣列 listlist new arraylist 2 list.add guan list.add bao string array list.toarray new string 0 集合有序 sort 和穩定性 order 有序性是指遍歷的...

阿里開發規範

1.強制 使用工具類 arrays aslist 把陣列轉換成集合時,不能使用其修改集合相關的方 法,它的 add remove clear 方法會丟擲 unsupportedoperationexception 異常。說明 aslist 的返回物件是乙個 arrays 內部類,並沒有實現集合的修改...