log4j的Appenders配置方法
因?yàn)槭莿傞_始使用log4j,很多配置方面的東西都不懂,記錄下。
下面是我用STS(Spring Tool Suite)新建Spring MVC項(xiàng)目的時(shí)候,幫我自動(dòng)生成的一個(gè)log4j.xml配置文件。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <!-- Appenders --> <appender name="console" class="org.apache.log4j.ConsoleAppender"> <param name="Target" value="System.out" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%-5p: %c - %m%n" /> </layout> </appender> <!-- Application Loggers --> <logger name="com.shanshan.test"> <level value="info" /> </logger> <!-- 3rdparty Loggers --> <logger name="org.springframework.core"> <level value="info" /> </logger> <logger name="org.springframework.beans"> <level value="info" /> </logger> <logger name="org.springframework.context"> <level value="info" /> </logger> <logger name="org.springframework.web"> <level value="info" /> </logger> <!-- Root Logger --> <root> <priority value="warn" /> <appender-ref ref="console" /> </root> </log4j:configuration>
我要說的就是Appenders中的配置內(nèi)容
輸出方式:
org.apache.log4j.ConsoleAppender | 控制臺(tái) |
org.apache.log4j.FileAppender | 文件 |
org.apache.log4j.DailyRollingFileAppender | 每天產(chǎn)生一個(gè)日志文件 |
org.apache.log4j.RollingFileAppender | 文件大小到達(dá)指定尺寸的時(shí)候產(chǎn)生一個(gè)新的文件 |
org.apache.log4j.WriterAppender | 將日志信息以流格式發(fā)送到任意指定的地方 |
PatternLayout配置:
配置 |
說明 | 舉例 | ||
%c | 輸出所屬的類目,通常就是所在類的全名。后面還可以帶一個(gè)十進(jìn)制的參數(shù),限制輸出類目的層級(jí),默認(rèn)輸出完整類目。 | %c | org.apache.log4j.PatternLayout | |
%c{2} | log4j.PatternLayout | |||
%C | 調(diào)用logger的類的類目。后面還可以帶一個(gè)十進(jìn)制的參數(shù),限制輸出類目的層級(jí),默認(rèn)輸出完整類目。 | %C | org.apache.log4j.PatternLayout | 處理較慢,謹(jǐn)慎使用 |
%C{1} | PatternLayout | |||
%d | 輸出日志記錄的時(shí)間,后面可以帶日期格式的參數(shù),參數(shù)編碼默認(rèn)為ISO8601,日期格式參考SimpleDateFormat | %d | 2017-04-18 09:23:56,561 | |
%d{yyyy-MM-dd HH:mm:ss SSS} | 2017-04-18 09:23:56 561 | |||
%d{ABSOLUTE} | 09:23:56,561 | |||
%d{DATE} | 18 四月 2017 09:23:56,561 | |||
%d{ISO8601} | 2017-04-18 09:23:56,561 | |||
%F | 顯示調(diào)用logger的源文件名 | HomeController.java | 處理較慢,謹(jǐn)慎使用 | |
%l | 輸出日志事件的發(fā)生位置,包括類目名、發(fā)生的線程,以及在代碼中的行數(shù) | com.shanshan.bo.HomeController.border(HomeController.java:155) | ||
%L | 顯示調(diào)用logger的代碼行數(shù) | 處理較慢,謹(jǐn)慎使用 | ||
%m | 輸出代碼中指定的信息 | |||
%M | 顯示調(diào)用logger的方法名 | main | 處理較慢,謹(jǐn)慎使用 | |
%n | 當(dāng)前系統(tǒng)下的換行符 | |||
%p | 顯示該條日志的優(yōu)先級(jí) | INFO | ||
%r | 顯示從程序啟動(dòng)時(shí)到記錄該條日志時(shí)已經(jīng)經(jīng)過的毫秒數(shù) | |||
%t | 輸出產(chǎn)生該日志事件的線程名 | tomcat-http--38 | ||
%x | 按NDC(Nested Diagnostic Context,線程堆棧)順序輸出日志 | |||
%X | 按MDC(Mapped Diagnostic Context,線程映射表)輸出日志。通常用于多個(gè)客戶端連接同一臺(tái)服務(wù)器,方便服務(wù)器區(qū)分是那個(gè)客戶端訪問留下來的日志。 | |||
%% | 輸出一個(gè)百分號(hào) |
通用格式配置:
配置 | 對(duì)齊方式 | 最小長度 | 最大長度 | 說明 |
%20c | right | 20 | 若名字空間長度小于20,則左邊用空格填充 | |
%-20c | left | 20 | 若名字空間長度小于20,則右邊用空格填充 | |
%.30c | 30 | 若名字空間長度超過30,截去多余字符 | ||
%20.30c | right | 20 | 30 | 若名字空間長度小于20,則左邊用空格填充;若名字空間長度超過30,截去多余字符 |
%-20.30c | left | 20 | 30 | 若名字空間長度小于20,則右邊用空格填充;若名字空間長度超過30,截去多余字符 |
以上這篇log4j的Appenders配置方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
深入理解Java中的final關(guān)鍵字_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
Java中的final關(guān)鍵字非常重要,它可以應(yīng)用于類、方法以及變量。這篇文章中我將帶你看看什么是final關(guān)鍵字以及使用final的好處,具體內(nèi)容詳情通過本文學(xué)習(xí)吧2017-04-04詳解poi+springmvc+springjdbc導(dǎo)入導(dǎo)出excel實(shí)例
本篇文章主要介紹了poi+springmvc+springjdbc導(dǎo)入導(dǎo)出excel實(shí)例,非常具有實(shí)用價(jià)值,需要的朋友可以參考下。2017-01-01Spring中一個(gè)少見的引介增強(qiáng)IntroductionAdvisor
這篇文章主要為大家介紹了Spring中一個(gè)少見的引介增強(qiáng)IntroductionAdvisor實(shí)戰(zhàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08使用HttpClient調(diào)用接口的實(shí)例講解
下面小編就為大家?guī)硪黄褂肏ttpClient調(diào)用接口的實(shí)例講解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10Java實(shí)戰(zhàn)之小米交易商城系統(tǒng)的實(shí)現(xiàn)
這篇文章將利用Java實(shí)現(xiàn)小米交易商城系統(tǒng),文中采用的技術(shù)有:JSP?、Spring、SpringMVC、MyBatis等,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-04-04Java使用原型模式展現(xiàn)每日生活應(yīng)用案例詳解
這篇文章主要介紹了Java使用原型模式展現(xiàn)每日生活應(yīng)用案例,較為詳細(xì)的分析了原型模式的概念、原理及Java使用原型模式展現(xiàn)每日生活案例的相關(guān)操作步驟與注意事項(xiàng),需要的朋友可以參考下2018-05-05Servlet3.0實(shí)現(xiàn)文件上傳的方法
本篇文章主要介紹了Servlet實(shí)現(xiàn)文件上傳的方法,所謂文件上傳就是將本地的文件發(fā)送到服務(wù)器中保存。有興趣的可以了解一下。2017-03-03swagger2和knife4j的詳細(xì)使用教程(入門級(jí))
最近項(xiàng)目中用到了Swagger2和knife4j作為接口文檔,所以下面這篇文章主要給大家介紹了關(guān)于swagger2和knife4j的詳細(xì)使用教程,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09使用java編程從0到1實(shí)現(xiàn)一個(gè)簡單計(jì)算器
這篇文章主要介紹了使用java編程從0到1實(shí)現(xiàn)一個(gè)簡單計(jì)算器,文章中用代碼實(shí)例講解的很清晰,有感興趣的同學(xué)可以學(xué)習(xí)研究下2021-02-02