定義日志測試類:
創新互聯建站主營潢川網站建設的網絡公司,主營網站建設方案,成都APP應用開發,潢川h5微信小程序搭建,潢川網站營銷推廣歡迎潢川等地區企業咨詢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>
創新互聯www.cdcxhl.cn,專業提供香港、美國云服務器,動態BGP最優骨干路由自動選擇,持續穩定高效的網絡助力業務部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統配攻擊溯源,準確進行流量調度,確保服務器高可用性。佳節活動現已開啟,新人活動云服務器買多久送多久。
當前名稱:Log4j2的常用配置-創新互聯
文章源于:http://vcdvsql.cn/article48/phjhp.html
成都網站建設公司_創新互聯,為您提供ChatGPT、全網營銷推廣、品牌網站設計、企業網站制作、外貿建站、建站公司
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯