<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 十、日志約定 1. 【<font color=red>強制</font>】應用中不可直接使用日志系統(Log4j、Logback)中的 API,而應依賴使用日志框架 > SLF4J 中的 API,使用門面模式的日志框架,有利于維護和各個類的日志處理方式統一。 <code> import org.slf4j.Logger; import org.slf4j.LoggerFactory; private static final Logger logger = LoggerFactory.getLogger(Abc.class); </code> 2. 【<font color=red>強制</font>】日志文件推薦至少保存 15 天,因為有些異常具備以“周”為頻次發生的特點。 3. 【<font color=red>強制</font>】應用中的擴展日志(如打點、臨時監控、訪問日志等)命名方式:appName_logType_logName.log。 logType:日志類型,推薦分類有stats/desc/monitor/visit 等; logName:日志描述。 這種命名的好處:通過文件名就可知道日志文件屬于什么應用,什么類型,什么目的,也有利于歸類查找。 > 正例:mppserver 應用中單獨監控時區轉換異常,如:mppserver_monitor_timeZoneConvert.log 說明:推薦對日志進行分類,錯誤日志和業務日志盡量分開存放,便于開發人員查看,也便于 通過日志對系統進行及時監控。 4. 【<font color=red>強制</font>】對 trace/debug/info 級別的日志輸出,必須使用條件輸出形式或者使用占位符的方 式。 > 說明:logger.debug("Processing trade with id: " + id + " symbol: " + symbol); 如果日志級別是 warn,上述日志不會打印,但是會執行字符串拼接操作,如果 symbol 是對象, 會執行 toString()方法,浪費了系統資源,執行了上述操作,最終日志卻沒有打印。 <code> 正例:(條件) if (logger.isDebugEnabled()) { logger.debug("Processing trade with id: " + id + " symbol: " + symbol); } 正例:(占位符) logger.debug("Processing trade with id: {} symbol : {} ", id, symbol); </code> 5. 【<font color=red>強制</font>】避免重復打印日志,浪費磁盤空間,務必在 log4j.xml 中設置 additivity=false。 ><code>正例:<logger name="com.taobao.dubbo.config" additivity="false"></code> 6. 【<font color=red>強制</font>】異常信息應該包括兩類信息:案發現場信息和異常堆棧信息。如果不處理,那么通過 關鍵字 throws 往上拋出。 ><code>正例:logger.error(各類參數或者對象 toString + "_" + e.getMessage(), e);</code> 7. 【推薦】謹慎地記錄日志。生產環境禁止輸出 debug 日志;有選擇地輸出 info 日志;如果使 用 warn 來記錄剛上線時的業務行為信息,一定要注意日志輸出量的問題,避免把服務器磁盤 撐爆,并記得及時刪除這些觀察日志。 > 說明:大量地輸出無效日志,不利于系統性能提升,也不利于快速定位錯誤點。記錄日志時請 思考:這些日志真的有人看嗎?看到這條日志你能做什么?能不能給問題排查帶來好處? 8. 【參考】可以使用 warn 日志級別來記錄用戶輸入參數錯誤的情況,避免用戶投訴時,無所適 從。注意日志輸出的級別,error 級別只記錄系統邏輯出錯、異常等重要的錯誤信息。如非必 要,請不要在此場景打出 error 級別。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看