中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Log4j2的常用配置

發布時間:2020-07-18 17:21:24 來源:網絡 閱讀:4242 作者:netpeak 欄目:開發技術

定義日志測試類:

import org.apache.logging.log4j.LogManager;

import org.apache.logging.log4j.Logger;

logger.trace("我是trace信息");

logger.debug("我是debug信息");

logger.info("我是info信息");
logger.warn("我是warn信息");
logger.error("我是error信息");

logger.fatal("我是fatal信息");  

1、log4j規定了默認的幾個級別:trace<debug<info<warn<error<fatal。級別之間是包含的關系,如果設置的是trace,則大于等于這個級別的日志都會輸出。

2、Log4j有一個默認的配置,它的日志級別是ERROR,只輸出到控制臺。

3、root沒有name屬性,root相當于根節點,所有的logger都繼承了root的log配置,如果沒有指定logger的級別,只能打印root級別以上的日志。

即使你在很多類里面通過類名.class.getName() 得到很多的logger,而且沒有在配置文件的loggers下面做配置,他們也都能夠輸出,因為他們都繼承了root的log配置。

如下設置,root的級別為error,

<root level="error" includeLocation="true">

      <appender-ref ref="Console"/>

</root>  

<!-- 定義控制臺輸出 -->  Console這些節點不能隨便命名的。

 <Console name="Console" target="SYSTEM_OUT" follow="true">  

     <PatternLayout pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} %level [%thread][%file:%line] - %msg%n" />  

 </Console>  

輸出結果:

2016-12-22 15:17:28.978 ERROR [main][Log4j2Test.java:15] - 我是error信息

2016-12-22 15:17:28.979 FATAL [main][Log4j2Test.java:16] - 我是fatal信息 

如果修改控制臺輸出,加入如下:

<!--控制臺只輸出level及以上級別的信息(onMatch),其他的直接拒絕(onMismatch)-->

<ThresholdFilter level="fatal" onMatch="ACCEPT" onMismatch="DENY"/>  

則Console只輸出fatal級別以上的日志

2016-12-22 15:19:05.945 FATAL [main][Log4j2Test.java:16] - 我是fatal信息  

設置指定類的日志輸出,如果設置級別為info,即使root的級別為error,指定類的info級別以上的扔能輸出,相當于重寫了root。

 <!--additivity開啟的話,如果這個logger也是滿足root的,所以會被打印兩遍。-->

   <logger name="test.Log4j2Test" level="info" additivity="false">

      <appender-ref ref="ERROR-APPENDER"/>

   </logger> 

test.Log4j2Test的所有info級別以上的日志會輸出到ERROR-APPENDER文件里,如果ERROR-APPENDER有設置

<ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY"/>  

test.Log4j2Test只有滿足error以上級別的才會輸出到文件,要大于logger本身定義的info級別。

最終輸出root->logger->appender的級別限制。

如果test.Log4j2Test配置兩個AppenderReF,那么兩個都會記錄滿足level="debug"級別的日志,這樣會造成多處記錄日志,應該開啟匹配過濾。

<logger name="test.Log4j2Test" level="debug" additivity="false">

            <AppenderReF ref="DEBUG-APPENDER"/>

            <AppenderReF ref="ERROR-APPENDER"/>

</logger>  

發郵件功能,只有error級別以上的才能發郵件,需要引入mail的jar包。

<SMTP name="Mail" subject="Error Log" to="to@qq.com" from="from@sina.cn" replyTo="from@sina.cn"

          smtpProtocol="smtp" smtpHost="smtp.sina.cn" smtpPort="25" bufferSize="50" smtpDebug="false"

          smtpPassword="***" smtpUsername="from@sina.cn">

</SMTP> 

 


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

克东县| 宣威市| 饶阳县| 宁都县| 息烽县| 永丰县| 威宁| 都江堰市| 怀远县| 纳雍县| 古交市| 宁乡县| 阿勒泰市| 南昌市| 景泰县| 星子县| 会同县| 织金县| 布拖县| 宁蒗| 娱乐| 屏东市| 安新县| 客服| 巴中市| 云龙县| 松潘县| 晴隆县| 蕲春县| 襄樊市| 吉水县| 静安区| 肃北| 四会市| 寿光市| 繁昌县| 平山县| 驻马店市| 莆田市| 彝良县| 仁化县|