log4j2+Slf4j日志配置文件

log4j簡(jiǎn)介

log4j是java常見(jiàn)的日志輸出框架,

2015年5月,Apache宣布Log4J 1.x 停止更新僧家。最新版為1.2.17谦炒。

如今刚梭,Log4J 2.x已更新至2.11巡球。

官方網(wǎng)址:http://logging.apache.org/log4j/2.x/

配置文件介紹

日志級(jí)別

trace:追蹤,就是程序推進(jìn)一下邦投,可以寫(xiě)個(gè)trace輸出

debug:調(diào)試,一般作為最低級(jí)別擅笔,trace基本不用志衣。

info:輸出重要的信息,使用較多

warn:警告猛们,有些信息不是錯(cuò)誤信息念脯,但也要給程序員一些提示。

error:錯(cuò)誤信息弯淘。用的也很多绿店。

fatal:致命錯(cuò)誤。級(jí)別較高庐橙,這種級(jí)別不用調(diào)試了假勿,重寫(xiě)吧……

機(jī)制:如果一條日志信息的級(jí)別大于等于配置文件的級(jí)別,就記錄态鳖。

輸出源

CONSOLE(輸出到控制臺(tái))转培、FILE(輸出到文件)等。

布局方式

SimpleLayout:以簡(jiǎn)單的形式顯示

HTMLLayout:以HTML表格顯示

PatternLayout:自定義形式顯示

在Log4J2中基本采用PatternLayout自定義日志布局浆竭。

自定義格式:

%t:線程名稱

%p:日志級(jí)別

%c:日志消息所在類名

%m:消息內(nèi)容

%M:輸出執(zhí)行方法

%d:發(fā)生時(shí)間浸须,%d{yyyy-MM-dd HH:mm:ss,SSS}惨寿,輸出類似:2011-10-18 22:10:28,921

%x: 輸出和當(dāng)前線程相關(guān)聯(lián)的NDC(嵌套診斷環(huán)境),尤其用到像java servlets這樣的多客戶多線程的應(yīng)用中。

%L:代碼中的行數(shù)

%n:換行

maven pom.xml引入包


<properties>

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

<spring.version>4.1.6.RELEASE</spring.version>

<log4j.version>2.11.0</log4j.version>

<activiti.version>6.0.0</activiti.version>

</properties>

<!-- 日志:Log4j2 + Slf4j -->

<dependency>

  <groupId>org.apache.logging.log4j</groupId>

  <artifactId>log4j-core</artifactId>

  <version>${log4j.version}</version>

</dependency>

<dependency>

  <groupId>org.apache.logging.log4j</groupId>

  <artifactId>log4j-api</artifactId>

  <version>${log4j.version}</version>

</dependency>

<dependency>

  <groupId>org.apache.logging.log4j</groupId>

  <artifactId>log4j-web</artifactId>

  <version>${log4j.version}</version>

</dependency>

<!-- 橋接:告訴Slf4j使用Log4j2 -->

<dependency>

  <groupId>org.apache.logging.log4j</groupId>

  <artifactId>log4j-slf4j-impl</artifactId>

  <version>${log4j.version}</version>

</dependency>

<!-- 橋接:告訴commons logging使用Log4j2 -->

<dependency>

  <groupId>org.apache.logging.log4j</groupId>

  <artifactId>log4j-jcl</artifactId>

  <version>${log4j.version}</version>

</dependency>

<dependency>

  <groupId>org.slf4j</groupId>

  <artifactId>slf4j-api</artifactId>

  <version>1.7.25</version>

</dependency>

log4j2.xml文件

2.x版本不支持properties格式删窒,使用xml或者json或者yaml裂垦, log4j2xml 添加src/main/resources 目錄


<?xml version="1.0" encoding="UTF-8"?>

<configuration status="OFF">

<Properties>

<!-- 配置日志文件輸出目錄,此配置將日志輸出到tomcat根目錄下的指定文件夾 -->

<Property name="LOG_HOME">${sys:catalina.home}/logs</Property>

</Properties>

    <appenders>

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

            <!--只接受程序中DEBUG級(jí)別的日志進(jìn)行處理-->

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

            <PatternLayout pattern="[%d{HH:mm:ss.SSS}] %-5level %class{36} %L %M - %msg%xEx%n"/>

        </Console>

        <!--處理DEBUG級(jí)別的日志肌索,并把該日志放到logs/debug.log文件中-->

        <!--打印出DEBUG級(jí)別日志蕉拢,每次大小超過(guò)size,則這size大小的日志會(huì)自動(dòng)存入按年份-月份建立的文件夾下面并進(jìn)行壓縮驶社,作為存檔-->

        <RollingFile name="RollingFileDebug" fileName="${LOG_HOME}/platform-debug.log"

                    filePattern="${LOG_HOME}/$${date:yyyy-MM}/platform-debug-%d{yyyy-MM-dd}-%i.log.gz">

            <Filters>

                <ThresholdFilter level="DEBUG"/>

                <ThresholdFilter level="INFO" onMatch="DENY" onMismatch="NEUTRAL"/>

            </Filters>

            <PatternLayout

                    pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %class{36} %L %M - %msg%xEx%n"/>

            <Policies>

                <SizeBasedTriggeringPolicy size="10 MB"/>

                <TimeBasedTriggeringPolicy/>

            </Policies>

        </RollingFile>

        <!--處理INFO級(jí)別的日志企量,并把該日志放到logs/info.log文件中-->

        <RollingFile name="RollingFileInfo" fileName="${LOG_HOME}/platform-info.log"

                    filePattern="${LOG_HOME}/$${date:yyyy-MM}/platform-info-%d{yyyy-MM-dd}-%i.log.gz">

            <Filters>

                <!--只接受INFO級(jí)別的日志,其余的全部拒絕處理-->

                <ThresholdFilter level="INFO"/>

                <ThresholdFilter level="WARN" onMatch="DENY" onMismatch="NEUTRAL"/>

            </Filters>

            <PatternLayout

                    pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %class{36} %L %M - %msg%xEx%n"/>

            <Policies>

                <SizeBasedTriggeringPolicy size="10 MB"/>

                <TimeBasedTriggeringPolicy/>

            </Policies>

        </RollingFile>

        <!--處理WARN級(jí)別的日志亡电,并把該日志放到logs/warn.log文件中-->

        <RollingFile name="RollingFileWarn" fileName="${LOG_HOME}/platform-warn.log"

                    filePattern="${LOG_HOME}/$${date:yyyy-MM}/platform-warn-%d{yyyy-MM-dd}-%i.log.gz">

            <Filters>

                <ThresholdFilter level="WARN"/>

                <ThresholdFilter level="ERROR" onMatch="DENY" onMismatch="NEUTRAL"/>

            </Filters>

            <PatternLayout

                    pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %class{36} %L %M - %msg%xEx%n"/>

            <Policies>

                <SizeBasedTriggeringPolicy size="10 MB"/>

                <TimeBasedTriggeringPolicy/>

            </Policies>

        </RollingFile>

        <!--處理error級(jí)別的日志届巩,并把該日志放到logs/error.log文件中-->

        <RollingFile name="RollingFileError" fileName="${LOG_HOME}/platform-error.log"

                    filePattern="${LOG_HOME}/$${date:yyyy-MM}/platform-error-%d{yyyy-MM-dd}-%i.log.gz">

            <ThresholdFilter level="ERROR"/>

            <PatternLayout

                    pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %class{36} %L %M - %msg%xEx%n"/>

            <Policies>

                <SizeBasedTriggeringPolicy size="10 MB"/>

                <TimeBasedTriggeringPolicy/>

            </Policies>

        </RollingFile>

        <!--druid的日志記錄追加器-->

        <RollingFile name="druidSqlRollingFile" fileName="${LOG_HOME}/platform-druid-sql.log"

                    filePattern="${LOG_HOME}/$${date:yyyy-MM}/platform-druid-sql-%d{yyyy-MM-dd}-%i.log.gz">

            <PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %L %M - %msg%xEx%n"/>

            <Policies>

                <SizeBasedTriggeringPolicy size="10 MB"/>

                <TimeBasedTriggeringPolicy/>

            </Policies>

        </RollingFile>

    </appenders>

    <loggers>

        <root level="DEBUG">

            <appender-ref ref="Console"/>

            <appender-ref ref="RollingFileInfo"/>

            <appender-ref ref="RollingFileWarn"/>

            <appender-ref ref="RollingFileError"/>

            <appender-ref ref="RollingFileDebug"/>

        </root>

        <!--記錄druid-sql的記錄-->

        <logger name="druid.sql.Statement" level="debug" additivity="false">

            <appender-ref ref="druidSqlRollingFile"/>

        </logger>

        <!--log4j2 自帶過(guò)濾日志-->

        <Logger name="org.apache.catalina.startup.DigesterFactory" level="error" />

        <Logger name="org.apache.catalina.util.LifecycleBase" level="error" />

        <Logger name="org.apache.coyote.http11.Http11NioProtocol" level="warn" />

        <logger name="org.apache.sshd.common.util.SecurityUtils" level="warn"/>

        <Logger name="org.apache.tomcat.util.net.NioSelectorPool" level="warn" />

        <Logger name="org.crsh.plugin" level="warn" />

        <logger name="org.crsh.ssh" level="warn"/>

        <Logger name="org.eclipse.jetty.util.component.AbstractLifeCycle" level="error" />

        <Logger name="org.hibernate.validator.internal.util.Version" level="warn" />

        <logger name="org.springframework.boot.actuate.autoconfigure.CrshAutoConfiguration" level="warn"/>

        <logger name="org.springframework.boot.actuate.endpoint.jmx" level="warn"/>

    </loggers>

</configuration>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市份乒,隨后出現(xiàn)的幾起案子恕汇,更是在濱河造成了極大的恐慌,老刑警劉巖或辖,帶你破解...
    沈念sama閱讀 211,376評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瘾英,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡颂暇,警方通過(guò)查閱死者的電腦和手機(jī)缺谴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)耳鸯,“玉大人湿蛔,你說(shuō)我怎么就攤上這事∠嘏溃” “怎么了阳啥?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,966評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)财喳。 經(jīng)常有香客問(wèn)我察迟,道長(zhǎng),這世上最難降的妖魔是什么耳高? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,432評(píng)論 1 283
  • 正文 為了忘掉前任扎瓶,我火速辦了婚禮,結(jié)果婚禮上泌枪,老公的妹妹穿的比我還像新娘栗弟。我一直安慰自己,他們只是感情好工闺,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,519評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布乍赫。 她就那樣靜靜地躺著瓣蛀,像睡著了一般。 火紅的嫁衣襯著肌膚如雪雷厂。 梳的紋絲不亂的頭發(fā)上惋增,一...
    開(kāi)封第一講書(shū)人閱讀 49,792評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音改鲫,去河邊找鬼诈皿。 笑死,一個(gè)胖子當(dāng)著我的面吹牛像棘,可吹牛的內(nèi)容都是我干的稽亏。 我是一名探鬼主播,決...
    沈念sama閱讀 38,933評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼缕题,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼截歉!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起烟零,我...
    開(kāi)封第一講書(shū)人閱讀 37,701評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤瘪松,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后锨阿,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體宵睦,經(jīng)...
    沈念sama閱讀 44,143評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,488評(píng)論 2 327
  • 正文 我和宋清朗相戀三年墅诡,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了壳嚎。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,626評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡末早,死狀恐怖烟馅,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情荐吉,我是刑警寧澤,帶...
    沈念sama閱讀 34,292評(píng)論 4 329
  • 正文 年R本政府宣布口渔,位于F島的核電站样屠,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏缺脉。R本人自食惡果不足惜痪欲,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,896評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望攻礼。 院中可真熱鬧业踢,春花似錦、人聲如沸礁扮。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,742評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至雇锡,卻和暖如春逛钻,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背锰提。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工曙痘, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人立肘。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓边坤,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親谅年。 傳聞我的和親對(duì)象是個(gè)殘疾皇子茧痒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,494評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 在應(yīng)用程序中添加日志記錄總的來(lái)說(shuō)基于三個(gè)目的:監(jiān)視代碼中變量的變化情況,周期性的記錄到文件中供其他應(yīng)用進(jìn)行統(tǒng)計(jì)分析...
    時(shí)待吾閱讀 4,975評(píng)論 0 6
  • 在應(yīng)用程序中添加日志記錄總的來(lái)說(shuō)基于三個(gè)目的:監(jiān)視代碼中變量的變化情況踢故,周期性的記錄到文件中供其他應(yīng)用進(jìn)行統(tǒng)計(jì)分析...
    時(shí)待吾閱讀 4,987評(píng)論 1 13
  • 一文黎、Log4j簡(jiǎn)介 Log4j有三個(gè)主要的組件:Loggers(記錄器),Appenders (輸出源)和Layo...
    默默守護(hù)閱讀 1,900評(píng)論 2 8
  • from:https://www.cnblogs.com/ITtangtang/p/3926665.html一殿较、L...
    enshunyan閱讀 3,282評(píng)論 0 0
  • 似乎淋纲,每個(gè)人的生命中劳闹,都很會(huì)有一段過(guò)不去的回憶,亦人洽瞬,亦事本涕。 你那些在歲月里的不肯釋?xiě)眩豢显彽娜撕褪禄锴裕y為的只...
    鏡子a閱讀 1,220評(píng)論 1 1