Spring 日志規(guī)范及作用
1、日志的作用
日志是在系統(tǒng)運行過程中關(guān)鍵的節(jié)點的數(shù),這個些日志的記錄方便當系統(tǒng)出現(xiàn)問題方便問題查找。 打印參數(shù)必須是有意義,連貫的。以方便快速定位問題。
2、日志打印規(guī)范
常規(guī)日志規(guī)范寫法:
logger.info("驗證碼: {} ", code);
logger.info("請求參數(shù):{},驗證碼: {} ", param,code);
logger.info( String.format("請求參數(shù)姓名:%s, 請求參數(shù)年齡:%d",name ,age));
這些遵從簡潔命了,可讀性強。不規(guī)范的寫法如下
logger.info(”###### code 驗證碼:+ code):
logger.info("驗證碼登錄 jsonResult :"+ JSONObject.toJsONstring(jsonResult));
異常日志規(guī)范寫法:
logger. error("登錄發(fā)送驗證碼異常,手機號碼:{},異常詳情:{}",phone,e);
異常日志不規(guī)范寫法
logger.error(e.getMessage());
說明e.getMessag(),只能告訴你出現(xiàn)什么異常,并沒有告訴的你是哪行報出來的異常。2、是什么業(yè)務場景、業(yè)務關(guān)鍵字都沒有記錄。
此外有些人try catch時候直接e.printStackTrace(),首先這樣寫不會記錄到日志文件。并且會占用內(nèi)存。消耗系統(tǒng)性能。
debug日志建議生產(chǎn)環(huán)境關(guān)閉。
日志中打印的注意敏感字段要進行脫敏處理
3、日志文件
以logback 為例,一般以日期創(chuàng)建日志文件,例如配置如下
<!-- 循環(huán)政策:基于時間創(chuàng)建日志文件 --> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 日志文件名格式 --> <fileNamePattern>${log.home}/info/%d{yyyy-MM-dd}-info.log</fileNamePattern> <!-- 最大保存時間:30天--> <maxHistory>30</maxHistory> </rollingPolicy>
到此這篇關(guān)于Spring 日志規(guī)范及作用的文章就介紹到這了,更多相關(guān)Spring 日志規(guī)范內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot項目Jar包使用systemctl運行過程
這篇文章主要介紹了SpringBoot項目Jar包使用systemctl運行過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-03-03解析java基本數(shù)據(jù)類型傳遞與引用傳遞區(qū)別
這篇文章主要介紹了java基本數(shù)據(jù)類型傳遞與引用傳遞區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-03-03Java通過匿名類來實現(xiàn)回調(diào)函數(shù)實例總結(jié)
這篇文章主要介紹了Java通過匿名類來實現(xiàn)回調(diào)函數(shù)的例子,回調(diào)函數(shù)就是一種函數(shù)簽名(若干個輸入?yún)?shù)、一個輸出參數(shù))的規(guī)范,java雖不存在函數(shù)聲明,但是java可以用接口來強制規(guī)范。具體操作步驟大家可查看下文的詳細講解,感興趣的小伙伴們可以參考一下。2017-08-08Spring Cloud Gateway調(diào)用Feign異步問題記錄
這篇文章主要介紹了Spring Cloud Gateway調(diào)用Feign異步問題記錄,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04Java中==運算符與equals方法的區(qū)別及intern方法詳解
這篇文章主要介紹了Java中==運算符與equals方法的區(qū)別及intern方法詳解的相關(guān)資料,需要的朋友可以參考下2017-04-04