国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

???? ?? ?? ??? / 日志規(guī)約

日志規(guī)約

1. 【強制】應(yīng)用中不可直接使用日志系統(tǒng) (Log 4 j 、 Logback) 中的 API ,而應(yīng)依賴使用日志框架SLF 4 J 中的 API ,使用門面模式的日志框架,有利于維護和各個類的日志處理方式統(tǒng)一。import org.slf4j.Logger;

import org.slf4j.LoggerFactory;
private static final Logger logger = LoggerFactory.getLogger(Abc.class);

2. 【強制】日志文件推薦至少保存 15 天,因為有些異常具備以“周”為頻次發(fā)生的特點。


3. 【強制】應(yīng)用中的擴展日志 ( 如打點、臨時監(jiān)控、訪問日志等 ) 命名方式:

appName _ logType _ logName . log 。 logType :日志類型,推薦分類有

stats / desc / monitor / visit 等 ;logName :日志描述。這種命名的好處:通過文件名就可知道日志文件屬于什么應(yīng)用,什么類型,什么目的,也有利于歸類查找。

正例: mppserver 應(yīng)用中單獨監(jiān)控時區(qū)轉(zhuǎn)換異常,如:mppserver _ monitor _ timeZoneConvert . log

說明:推薦對日志進行分類,錯誤日志和業(yè)務(wù)日志盡量分開存放,便于開發(fā)人員查看,也便于通過日志對系統(tǒng)進行及時監(jiān)控。


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

說明: logger . debug( " Processing trade with id : " +  id + "  symbol : " +  symbol);

如果日志級別是 warn ,上述日志不會打印,但是會執(zhí)行字符串拼接操作,如果 symbol 是對象,會執(zhí)行 toString() 方法,浪費了系統(tǒng)資源,執(zhí)行了上述操作,最終日志卻沒有打印。

正例: ( 條件 )

if (logger.isDebugEnabled()) {
logger.debug("Processing trade with id: " + id + " symbol: " + symbol);
}

正例: ( 占位符 )

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

5. 【強制】避免重復(fù)打印日志,浪費磁盤空間,務(wù)必在 log 4 j . xml 中設(shè)置 additivity = false 。

正例: <logger name="com.taobao.dubbo.config" additivity="false"> 


6. 【強制】異常信息應(yīng)該包括兩類信息:案發(fā)現(xiàn)場信息和異常堆棧信息。如果不處理,那么往上拋。

正例: logger.error(各類參數(shù)或者對象 toString + "_" + e.getMessage(), e);


7. 【推薦】可以使用 warn 日志級別來記錄用戶輸入?yún)?shù)錯誤的情況,避免用戶投訴時,無所適從。注意日志輸出的級別, error 級別只記錄系統(tǒng)邏輯出錯、異常等重要的錯誤信息。如非必要,請不要在此場景打出 error 級別。


8. 【推薦】謹慎地記錄日志。生產(chǎn)環(huán)境禁止輸出 debug 日志 ; 有選擇地輸出 info 日志 ; 如果使用 warn 來記錄剛上線時的業(yè)務(wù)行為信息,一定要注意日志輸出量的問題,避免把服務(wù)器磁盤撐爆,并記得及時刪除這些觀察日志。

說明:大量地輸出無效日志,不利于系統(tǒng)性能提升,也不利于快速定位錯誤點。記錄日志時請

思考:這些日志真的有人看嗎?看到這條日志你能做什么?能不能給問題排查帶來好處?