【強制】應用中不可直接使用日誌系統(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 內部類,並沒有實現集合的修改...