spring-boot日志

默認(rèn)情況下狂票,Spring Boot會(huì)用Logback來記錄日志,并用INFO級(jí)別輸出到控制臺(tái)。并且默認(rèn)spring Boot自動(dòng)加載了Logback依賴劳秋,無需手動(dòng)引用任何依賴.

看完這個(gè)不會(huì)配置 logback 悦穿,請(qǐng)你吃瓜攻礼!

日志級(jí)別優(yōu)先級(jí)

  • TRACE < DEBUG < INFO < WARN < ERROR < FATAL

logBack的公共配置

  • 默認(rèn)Spring Boot配置日志輸出到控制臺(tái),并沒有輸出到日志文件
  • 我們可以手動(dòng)修改application.yml配置文件栗柒,新增內(nèi)容如下:
      logging:
        pattern:
           #日志格式化
          console: "%d - %msg%n"
        path: /var/log/spring
        file: /var/log/spring/lxf.log
        #針對(duì)固定包下信息規(guī)定日志級(jí)別
        level:
         com.example.readinglist: info
    
    注意:日志配置, path和file不能同時(shí)使用礁扮,如果要同時(shí)使用則logging.file生 效,logging.path失效

代碼測(cè)試

  • HelloWorld.java
    package com.example.readinglist.controllers;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RestController;
    @RestController
    public class HelloWorld {
      private final Logger logger =     LoggerFactory.getLogger(HelloWorld.class);
        @GetMapping(value = "/hello")
        public String testHello()
        {
            //日志級(jí)別從低到高分為TRACE < DEBUG < INFO < WARN <   ERROR < FATAL瞬沦,如果設(shè)置為WARN太伊,則低于WARN的信息都不會(huì)輸出。
            logger.trace("日志輸出 trace");
            logger.debug("日志輸出 debug");
            logger.info("日志輸出 info");
            logger.warn("日志輸出 warn");
            logger.error("日志輸出 error");
            return "hello world!";
        }
    }
    

自定義xml文件詳細(xì)配置logBack

  • 自定義xml文件配置會(huì)覆蓋掉application.yml中的logging相關(guān)配置
  • logback-spring.xml配置文件放在 src/main/resources 目錄下逛钻,內(nèi)容如下:
 <?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">

   <contextName>logback-demo</contextName>
   <!--<property name="logback.logdir" value="/home/lxf/test/logs"/>
   <property name="logback.appname" value="app"/>-->

   <!--application.yml 傳遞參數(shù)僚焦,不能使用logback 自帶的<property>標(biāo)簽 -->
   <springProperty scope="context" name="logback.appname" source="logback.appname"/>
   <springProperty scope="context" name="logback.logdir" source="logback.logdir"/>

   <!--輸出到控制臺(tái) 自定義配置 ConsoleAppender-->
   <appender name="consoleLog1" class="ch.qos.logback.core.ConsoleAppender">
       <!--展示格式 layout-->
       <layout class="ch.qos.logback.classic.PatternLayout">
           <pattern>
               <pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
           </pattern>
       </layout>
       <!--
       <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>ERROR</level>
       </filter>
        -->
   </appender>


   <!--輸出到日志記錄到文件,自定義配置,該配置會(huì)忽略application.yml中的日志配置logging相關(guān)失效 -->
   <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
       <!--如果只是想要 Info 級(jí)別的日志曙痘,只是過濾 info 還是會(huì)輸出 Error 日志芳悲,因?yàn)?Error 的級(jí)別高,
       所以我們使用下面的策略边坤,可以避免輸出 Error 的日志-->

       <!--日志名稱芭概,如果沒有File 屬性,那么只會(huì)使用FileNamePattern的文件路徑規(guī)則
           如果同時(shí)有<File>和<FileNamePattern>惩嘉,那么當(dāng)天日志是<File>罢洲,明天會(huì)自動(dòng)把今天
           的日志改名為今天的日期。即,<File> 的日志都是當(dāng)天的惹苗。
       -->
       <File>${logback.logdir}/info.${logback.appname}.log</File>
       <!--滾動(dòng)策略殿较,按照時(shí)間滾動(dòng) TimeBasedRollingPolicy-->
       <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
           <!--文件路徑,定義了日志的切分方式——把每一天的日志歸檔到一個(gè)文件中,以防止日志填滿整個(gè)磁盤空間-->
           <FileNamePattern>${logback.logdir}/info.${logback.appname}.%d{yyyy-MM-dd}.log</FileNamePattern>
           <!--只保留最近90天的日志-->
           <maxHistory>90</maxHistory>
           <!--用來指定日志文件的上限大小,那么到了這個(gè)值桩蓉,就會(huì)刪除舊的日志-->
           <!--<totalSizeCap>1GB</totalSizeCap>-->
       </rollingPolicy>
       <!--日志輸出編碼格式化-->
       <encoder>
           <charset>UTF-8</charset>
           <pattern>%d [%thread] %-5level %logger{36} %line - %msg%n</pattern>
       </encoder>
   </appender>

   <!--指定最基礎(chǔ)的日志輸出級(jí)別-->
   <root level="INFO">
       <!--appender將會(huì)添加到這個(gè)loger-->
       <appender-ref ref="consoleLog1"/>
       <!--<appender-ref ref="fileInfoLog"/>-->
   </root>

   <!-- 測(cè)試環(huán)境+開發(fā)環(huán)境. 多個(gè)使用逗號(hào)隔開. -->
   <springProfile name="test,dev">
       <logger name="com.example.readinglist" level="DEBUG" additivity="false">
           <!--引用控制臺(tái)輸出樣式-->
           <appender-ref ref="consoleLog1"/>
           <!--引用文件輸出樣式-->
           <appender-ref ref="fileInfoLog"/>
       </logger>
   </springProfile>

   <!-- 生產(chǎn)環(huán)境. -->
   <springProfile name="prod">
       <logger name="com.example.readinglist" level="INFO" additivity="false">
           <appender-ref ref="consoleLog1"/>
           <appender-ref ref="fileInfoLog"/>
       </logger>
   </springProfile>

</configuration>
  • application.yml 配置文件內(nèi)容
     spring:
       #引入開發(fā)環(huán)境,在logback-spring.xml中不同環(huán)境淋纲,記錄不同日志級(jí)別信息
        profiles:
        active: dev
    #配置自定義日志變量信息,在logback-spring.xml中引用
    logback:
      #日志路徑
      logdir: /home/lxf/test/logs
      #日志文件名
      appname: lxf-spring-log-test.log
    

參考文章:

logback 配置詳解(一)——logger院究、root
http://m.blog.csdn.net/inke88/article/details/75007649
slf4j+logback SLF4J和Logback日志框架詳解
http://blog.csdn.net/qq_28893679/article/details/78327952
myslbatis輸出sql語句配置

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末洽瞬,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子业汰,更是在濱河造成了極大的恐慌伙窃,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,378評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件样漆,死亡現(xiàn)場(chǎng)離奇詭異为障,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)放祟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,970評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門鳍怨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人跪妥,你說我怎么就攤上這事鞋喇。” “怎么了眉撵?”我有些...
    開封第一講書人閱讀 168,983評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵确徙,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我执桌,道長(zhǎng)鄙皇,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,938評(píng)論 1 299
  • 正文 為了忘掉前任仰挣,我火速辦了婚禮伴逸,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘膘壶。我一直安慰自己错蝴,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,955評(píng)論 6 398
  • 文/花漫 我一把揭開白布颓芭。 她就那樣靜靜地躺著顷锰,像睡著了一般。 火紅的嫁衣襯著肌膚如雪亡问。 梳的紋絲不亂的頭發(fā)上官紫,一...
    開封第一講書人閱讀 52,549評(píng)論 1 312
  • 那天肛宋,我揣著相機(jī)與錄音,去河邊找鬼束世。 笑死酝陈,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的毁涉。 我是一名探鬼主播沉帮,決...
    沈念sama閱讀 41,063評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼贫堰!你這毒婦竟也來了穆壕?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,991評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤其屏,失蹤者是張志新(化名)和其女友劉穎喇勋,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體漫玄,經(jīng)...
    沈念sama閱讀 46,522評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,604評(píng)論 3 342
  • 正文 我和宋清朗相戀三年压彭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了睦优。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,742評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡壮不,死狀恐怖汗盘,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情询一,我是刑警寧澤隐孽,帶...
    沈念sama閱讀 36,413評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站健蕊,受9級(jí)特大地震影響菱阵,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜缩功,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,094評(píng)論 3 335
  • 文/蒙蒙 一晴及、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧嫡锌,春花似錦虑稼、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,572評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至啦桌,卻和暖如春溯壶,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,671評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工茸塞, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留躲庄,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,159評(píng)論 3 378
  • 正文 我出身青樓钾虐,卻偏偏與公主長(zhǎng)得像噪窘,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子效扫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,747評(píng)論 2 361

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