Spring-boot的logging設(shè)置

spring-boot默認(rèn)使用logback來記錄logger,spring-boot的包里面org.springframework.boot.logging.logback路徑下面有一些配置文件饺蚊,默認(rèn)的情況下會使用base.xml南蓬,它把日志輸出到控制臺和文件之中。它的內(nèi)容是:

<included>

? ? <include resource="org/springframework/boot/logging/logback/defaults.xml" />

? ? <property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}}/spring.log}"/>

? ? <include resource="org/springframework/boot/logging/logback/console-appender.xml" />

? ? <include resource="org/springframework/boot/logging/logback/file-appender.xml" />

? ? <root level="INFO">

? ? ? ? <appender-ref ref="CONSOLE" />

? ? ? ? <appender-ref ref="FILE" />

? ? </root>

</included>

對于輸出到文件颂龙,如果設(shè)置了logging.file就使用該值作為文件名稱葵第,如果設(shè)置了logging.path就使用logging.path/spring.log作為文件名稱税弃,如果都沒有設(shè)置就放入臨時文件中绅你。

那么問題來了伺帘,如果要寫入文件的話,一個文件不會被寫得很大嗎忌锯?

這個時候就可以看base.xml里面include了org/springframework/boot/logging/logback/file-appender.xml

我們來看看org/springframework/boot/logging/logback/file-appender.xml里面是什么東西

<included>

? ? <appender name="FILE"

? ? ? ? class="ch.qos.logback.core.rolling.RollingFileAppender">

? ? ? ? <encoder>

? ? ? ? ? ? <pattern>${FILE_LOG_PATTERN}</pattern>

? ? ? ? </encoder>

? ? ? ? <file>${LOG_FILE}</file>

? ? ? ? <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">

? ? ? ? ? ? <fileNamePattern>${LOG_FILE}.%i</fileNamePattern>

? ? ? ? </rollingPolicy>

? ? ? ? <triggeringPolicy

? ? ? ? ? ? class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">

? ? ? ? ? ? <MaxFileSize>10MB</MaxFileSize>

? ? ? ? </triggeringPolicy>

? ? </appender>

</included>

是的伪嫁,默認(rèn)的配置里面有個SizeBasedTriggeringPolicy來表示文件的大小,每個文件到了10MB的時候就會重新開啟一個文件偶垮,并且把之前的名稱命名成${LOG_FILE}.%i张咳,這樣就解決了日志文件過大的問題帝洪。

有人可能想問,這些都是默認(rèn)的配置脚猾,如果我不想使用默認(rèn)的配置葱峡,我想按照天來切割日志,應(yīng)該如何設(shè)置呢婚陪?

可以在resources目錄下面創(chuàng)建一個logback-spring.xml的文件族沃,并且給出自己想要的配置频祝,這里給一個簡單的配置是的日志文件可以按天為單位來切割日志文件

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

<configuration>

? ? <include resource="org/springframework/boot/logging/logback/defaults.xml" />

? ? <property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}}/spring.log}"/>

? ? <include resource="org/springframework/boot/logging/logback/console-appender.xml" />

? ? <appender name="TIME_FILE"

? ? ? ? ? ? ? class="ch.qos.logback.core.rolling.RollingFileAppender">

? ? ? ? <encoder>

? ? ? ? ? ? <pattern>${FILE_LOG_PATTERN}</pattern>

? ? ? ? </encoder>

? ? ? ? <file>${LOG_FILE}</file>

? ? ? ? <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

? ? ? ? ? ? <fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.%i</fileNamePattern>

? ? ? ? ? ? <maxHistory>365</maxHistory>

? ? ? ? ? ? <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">

? ? ? ? ? ? ? ? <maxFileSize>100MB</maxFileSize>

? ? ? ? ? ? </timeBasedFileNamingAndTriggeringPolicy>

? ? ? ? </rollingPolicy>

? ? </appender>

? ? <root level="INFO">

? ? ? ? <appender-ref ref="CONSOLE" />

? ? ? ? <appender-ref ref="TIME_FILE" />

? ? </root>

</configuration>

上面%d{yyyy-MM-dd}表示命名的文件名字以原始的名字后面加上日期作為后綴泌参,<maxFileSize>100MB</maxFileSize>表示每個文件大小為100MB。這樣日志文件就會以日期來進(jìn)行切割并且進(jìn)行保存了常空。

所以說如果要自定義日志的格式沽一, 就可以通過自己編寫logback-spring.xml這個文件來自己定義了。

最后在配置文件appication.yaml設(shè)置好文件名稱和日志級別就可以了

spring:?

? application:? ?

? ? name: spring-boot-logging

logging:?

? file: ./logs/spring-boot-logging.log?

? level:? ?

? ? com.dragon.study.spring.boot: DEBUG

如果需要在logback-spring.xml自定義一些配置文件漓糙,可以使用

? ? <springProperty scope="context" name="SYSLOG_HOST" source="logging.syslog.host" defaultValue="syslog.hostname" />

? ? <springProperty scope="context" name="SYSLOG_FACILITY" source="logging.syslog.facility" defaultValue="LOCAL7"/>

? ? <appender name="SYSLOG" class="ch.qos.logback.classic.net.SyslogAppender">

? ? ? ? <syslogHost>${SYSLOG_HOST}</syslogHost>

? ? ? ? <facility>${SYSLOG_FACILITY}</facility>

? ? </appender>

然后在appication.yaml的配置文件中加入

logging.syslog.facility: syslog.change.hostname

logging.syslog.facility: LOCAL1

配置進(jìn)行替代默認(rèn)值

PS: 遇到一個坑铣缠, 就是想關(guān)掉某個包下面的日志,不能直接

logging:?

? level:? ?

? ? com.dragon.study.spring.boot: OFF

因?yàn)镺FF是yaml的關(guān)鍵字昆禽,上面那么寫沒有任何作用

所以如果想關(guān)掉某個包下面的日志的正確方法是 OFF上面加上單引號

logging:?

? file: ./logs/spring-boot-logging.log?

? level:? ?

? ? com.dragon.study.spring.boot: 'OFF'

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蝗蛙,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子醉鳖,更是在濱河造成了極大的恐慌捡硅,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,430評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件盗棵,死亡現(xiàn)場離奇詭異壮韭,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)纹因,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,406評論 3 398
  • 文/潘曉璐 我一進(jìn)店門喷屋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人瞭恰,你說我怎么就攤上這事屯曹。” “怎么了惊畏?”我有些...
    開封第一講書人閱讀 167,834評論 0 360
  • 文/不壞的土叔 我叫張陵恶耽,是天一觀的道長。 經(jīng)常有香客問我陕截,道長驳棱,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,543評論 1 296
  • 正文 為了忘掉前任农曲,我火速辦了婚禮社搅,結(jié)果婚禮上驻债,老公的妹妹穿的比我還像新娘。我一直安慰自己形葬,他們只是感情好合呐,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,547評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著笙以,像睡著了一般淌实。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上猖腕,一...
    開封第一講書人閱讀 52,196評論 1 308
  • 那天拆祈,我揣著相機(jī)與錄音,去河邊找鬼倘感。 笑死放坏,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的老玛。 我是一名探鬼主播淤年,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蜡豹!你這毒婦竟也來了麸粮?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,671評論 0 276
  • 序言:老撾萬榮一對情侶失蹤镜廉,失蹤者是張志新(化名)和其女友劉穎弄诲,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體桨吊,經(jīng)...
    沈念sama閱讀 46,221評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡威根,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,303評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了视乐。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片洛搀。...
    茶點(diǎn)故事閱讀 40,444評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖佑淀,靈堂內(nèi)的尸體忽然破棺而出留美,到底是詐尸還是另有隱情,我是刑警寧澤伸刃,帶...
    沈念sama閱讀 36,134評論 5 350
  • 正文 年R本政府宣布谎砾,位于F島的核電站,受9級特大地震影響捧颅,放射性物質(zhì)發(fā)生泄漏景图。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,810評論 3 333
  • 文/蒙蒙 一碉哑、第九天 我趴在偏房一處隱蔽的房頂上張望挚币。 院中可真熱鬧亮蒋,春花似錦、人聲如沸妆毕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,285評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽笛粘。三九已至趁怔,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間薪前,已是汗流浹背润努。 一陣腳步聲響...
    開封第一講書人閱讀 33,399評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留序六,地道東北人任连。 一個月前我還...
    沈念sama閱讀 48,837評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像例诀,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子裁着,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,455評論 2 359

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