Logback日志配置

springboot 使用指定 logback.xml 的方法:

application.yml 配置

logging:
  config: classpath:conf/logback-spring.xml
  path: d:/logs #日志路徑

logback-spring.xml 文件獲取 application.yml 里的值。logback 提供了 一個標簽 <springProperty>

<springProperty scope="context" name="log_home" source="logging.path"/>

例子:日志級別分離

<?xml version="1.0" encoding="UTF-8" ?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
         
    <springProperty scope="context" name="log_home" source="logging.path"/> 
    <!--輸出表達式:時間 - 日志級別 線程 輸出日志的類 輸出的信息 換行-->
    <property name="my_pattern"
              value="%d{yyyy-MM-dd HH:mm:ss.SSS} -%5p [%15.15t] [%-40.40logger{39}] %m%n"></property>
    <!--日志保留的份數(shù):10份-->
    <property name="my_max_history" value="10"></property>
    <!--
        文件輸出格式和頻率:也將作為文件名的一部分
            yyyy-MM-dd-HH   每小時生成一個文件
            yyyy-MM-dd      每天生成一個文件
    -->
    <property name="file_name" value="yyyy-MM-dd-HH"></property>
    <!--控制臺輸出-->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>${my_pattern}</pattern>
            <charset>utf8</charset>
        </encoder>
    </appender>
    <!--只輸出 ERROR 以下級別-->
    <appender name="INFOLOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <onMatch>DENY</onMatch>
            <onMismatch>ACCEPT</onMismatch>
        </filter>
        <encoder>
            <pattern>${my_pattern}</pattern>
        </encoder>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${log_home}/hc_log_info_%d{${file_name}}.log</fileNamePattern>
            <maxHistory>${my_max_history}</maxHistory>
        </rollingPolicy>
    </appender>
    <!--輸出 WARN 和 ERROR 級別-->
    <appender name="ERRORLOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>WARN</level>
        </filter>
        <encoder>
            <pattern>${my_pattern}</pattern>
        </encoder>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${log_home}/hc_log_error_%d{${file_name}}.log</fileNamePattern>
            <maxHistory>${my_max_history}</maxHistory>
        </rollingPolicy>
    </appender>
    <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" additivity="false"></logger>
    <logger name="org.thymeleaf" additivity="false"></logger>
    <logger name="com.gov.xsbn" level="DEBUG"></logger>
    <root level="INFO">
        <appender-ref ref="STDOUT"/>
        <appender-ref ref="INFOLOG"/>
        <appender-ref ref="ERRORLOG"/>
    </root>
</configuration>

綜合筆記

說明:這里的配置是指xml的配置掰曾。

思維整理:


image.png

configuration 標簽:

image.png


properties 標簽

image.png


root 標簽

  • 屬性:level 即輸出的級別(TRACE, DEBUG, INFO, WARN, ERROR, ALL和OFF)
  • 包含標簽:
  • <appender-ref ref="FILE" />
    • 屬性 ref : 輸出給誰。也就是 appender
  • 真相:
    • <root> 也是一個 <logger> 枯跑。但是它是根 logger 。其實他也有 name 屬性 白热。只是由于是根敛助, 所有就被命名成了 root。
      logger 標簽
  • 用來設(shè)置具體某個一包或類的日志級別屋确。
  • 屬性:
    • name : 指定的類或包
    • level : 輸出級別
  • 包含標簽:
  • <appender-ref ref="FILE" />
    • 屬性 ref : 輸出給誰纳击。也就是 appender
      appender 標簽
  • 屬性:
    • name:我就是那個誰,給我起個名字
    • class:真正干活的人攻臀。寫的是全類名
      • image.png
      • 可以看到焕数,有很多。常用的有一下幾個:

      • ch.qos.logback.core.ConsoleAppender , ch.qos.logback.core.rolling.RollingFileAppender

    • 包含的標簽

appender 完整配置:分為2個茵烈,一個是控制臺百匆,一個是滾動文件

<!--  控制臺輸出    -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <!--encoder : 日志信息的輸出模式-->
        <encoder>
            <!--輸出例子:控制臺輸出:- xxxxxxxxxxxxxxxxxxx -->
            <pattern>控制臺日志: - %msg %n</pattern>
        </encoder>
    </appender>
    <!--文件滾動輸出-->
    <appender name="FILELOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--encoder : 日志信息的輸出模式-->
        <encoder>
            <pattern>文件輸出: - %msg %n</pattern>
        </encoder>
        <!--
            輸出過濾器:給輸出的日志在進行一層過濾
           常用的:
            ch.qos.logback.classic.filter.LevelFilter 復雜點砌些,下面寫了一個例子
            ch.qos.logback.classic.filter.ThresholdFilter 簡單呜投,輸出的級別大于等于 level 標簽里的值都輸出
                <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
                    <level>INFO</level>
                </filter>
        -->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <!--
                只輸出 INFO 的內(nèi)容
            -->
            <!--level 判斷條件 -->
            <level>INFO</level>
            <!--
                onMatch(匹配成功) 有2個值: ACCEPT 和 DENY
                輸出的級別等于 level 標簽里的 級別時:
                    如果值 = ACCEPT ,則輸出
                    如果值 = DENY , 不輸出
            -->
            <onMatch>ACCEPT</onMatch>
            <!--
                onMismatch(匹配不成功) 有2個值: ACCEPT 和 DENY
                輸出的級別等于 level 標簽里的 級別時:
                    如果值 = ACCEPT 存璃,則輸出
                    如果值 = DENY , 不輸出
            -->
            <onMismatch>DENY</onMismatch>
        </filter>
        <!--
            生成的文件名稱:
            ch.qos.logback.core.rolling.TimeBasedRollingPolicy:時間滾動策略
        -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--每分鐘生成一個文件-->
            <fileNamePattern>d:/lijia_%d{yyyy-MM-dd_hh_mm}.log</fileNamePattern>
            <!--只保留10個文件-->
            <maxHistory>10</maxHistory>
        </rollingPolicy>
    </appender>
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末仑荐,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子纵东,更是在濱河造成了極大的恐慌粘招,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件偎球,死亡現(xiàn)場離奇詭異洒扎,居然都是意外死亡辑甜,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進店門袍冷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來磷醋,“玉大人,你說我怎么就攤上這事胡诗〉讼撸” “怎么了?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵煌恢,是天一觀的道長骇陈。 經(jīng)常有香客問我,道長瑰抵,這世上最難降的妖魔是什么你雌? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮谍憔,結(jié)果婚禮上匪蝙,老公的妹妹穿的比我還像新娘。我一直安慰自己习贫,他們只是感情好逛球,可當我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著苫昌,像睡著了一般颤绕。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上祟身,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天奥务,我揣著相機與錄音,去河邊找鬼袜硫。 笑死氯葬,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的婉陷。 我是一名探鬼主播帚称,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼秽澳!你這毒婦竟也來了闯睹?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤担神,失蹤者是張志新(化名)和其女友劉穎楼吃,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡孩锡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年酷宵,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片躬窜。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡忧吟,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出斩披,到底是詐尸還是另有隱情溜族,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布垦沉,位于F島的核電站煌抒,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏厕倍。R本人自食惡果不足惜寡壮,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望讹弯。 院中可真熱鬧况既,春花似錦、人聲如沸组民。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽臭胜。三九已至莫其,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間耸三,已是汗流浹背乱陡。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留仪壮,地道東北人憨颠。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像积锅,于是被迫代替她去往敵國和親爽彤。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,060評論 2 355

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

  • springboot版本2.0.6 1. 配置文件:logback-spring.xml 根據(jù)springboot...
    書懷袖閱讀 1,204評論 0 0
  • 在logback學習筆記(上)中我們介紹了logback中的一些核心概念乏沸,在這篇文章中我們共同來學習一下如何利用配...
    阿龍的學與思閱讀 1,676評論 0 3
  • 原文出處:朱小廝 概述 LogBack是一個日志框架淫茵,它與Log4j可以說是同出一源爪瓜,都出自Ceki Gülcü之...
    從你說謊閱讀 438評論 0 3
  • 國慶假期還剩3天,不長不短 大伙兒是不是明顯感覺 自己的假期余額顯示不足了呢蝶缀? 假期雖過半 但閬中古城的熱度卻絲毫...
    大笑古城閱讀 463評論 0 0
  • 今天早上他又回家了丹喻,他走我的心里酸酸的,可是人心比心翁都,他為了陪我都不上班也不在家也不陪他老婆我這樣做是錯誤的碍论,可是...
    追夢_4f42閱讀 133評論 0 0