<?xml version="1.0" encoding="UTF-8"?>
<!--
-scan:當此屬性設置為true時,配置文件如果發(fā)生改變发皿,將會被重新加載丁稀,默認值為true
-scanPeriod:設置監(jiān)測配置文件是否有修改的時間間隔,如果沒有給出時間單位碧查,默認單位是毫秒。
- 當scan為true時,此屬性生效梢灭。默認的時間間隔為1分鐘
-debug:當此屬性設置為true時饼灿,將打印出logback內(nèi)部日志信息幕侠,實時查看logback運行狀態(tài)。默認值為false碍彭。
- configuration 子節(jié)點為 appender晤硕、logger、root
-->
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<contextName>logback</contextName>
<!-- 日志根目錄 對于分布式項目最好以 項目名/工程名 這樣就能快速準確的找到對應的日志-->
<springProperty scope="context" name="LOG_HOME" source="logging.path" defaultValue="E:/test/logback"/>
<!-- 日志文件名稱-->
<property name="LOG_PREFIX" value="log" />
<!-- 日志文件編碼-->
<property name="LOG_CHARSET" value="UTF-8" />
<!-- 日志文件路徑+日期-->
<property name="LOG_DIR" value="${LOG_HOME}/%d{yyyyMMdd}" />
<!--對日志進行格式化-->
<property name="LOG_MSG" value="- | [%X{requestUUID}] | [%d{yyyyMMdd HH:mm:ss.SSS}] | [%level] | [${HOSTNAME}] | [%thread] | [%logger{36}] | --> %msg|%n "/>
<!--文件大小庇忌,默認10MB-->
<property name="MAX_FILE_SIZE" value="1KB" />
<!--<property name="MAX_FILE_SIZE" value="50MB" />-->
<!-- 配置日志的滾動時間 舞箍,表示只保留最近 10 天的日志-->
<property name="MAX_HISTORY" value="10"/>
<!--輸出到控制臺-->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<!-- 輸出的日志內(nèi)容格式化-->
<encoder>
<pattern>${LOG_MSG}</pattern>
<charset>${LOG_CHARSET}</charset>
</encoder>
</appender>
<!-- 定義 ERROR 日志的輸出到文件:-->
<appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--<append>true</append>
append: true,日志被追加到文件結(jié)尾; false,清空現(xiàn)存文件;默認是true-->
<!--下面為配置只輸出error級別的日志 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<OnMismatch>DENY</OnMismatch>
<OnMatch>ACCEPT</OnMatch>
</filter>
<!--日志文件路徑,日志文件名稱-->
<!--<File>${LOG_DIR}</File>-->
<!--設置滾動策略皆疹,當天的日志大小超過 ${MAX_FILE_SIZE} 文件大小時候疏橄,新的內(nèi)容寫入新的文件, 默認10MB -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--日志文件路徑略就,新的 ERR 日志文件名稱捎迫,“ i ” 是個變量 -->
<FileNamePattern>${LOG_DIR}/error_${LOG_PREFIX}_%i.log</FileNamePattern>
<!--配置日志的滾動時間 ,表示只保留最近 10 天的日志-->
<MaxHistory>${MAX_HISTORY}</MaxHistory>
<!--當天的日志大小超過 ${MAX_FILE_SIZE} 文件大小時候表牢,新的內(nèi)容寫入新的文件窄绒, 默認10MB-->
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>${MAX_FILE_SIZE}</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<!--輸出的日志內(nèi)容格式化-->
<encoder>
<pattern>${LOG_MSG}</pattern>
<charset>${LOG_CHARSET}</charset>
</encoder>
</appender>
<!--定義 DEBUG 日志的輸出到文件:-->
<appender name="DEBUG" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--<append>true</append>
append: true,日志被追加到文件結(jié)尾; false,清空現(xiàn)存文件;默認是true-->
<!--下面為配置只輸出debug級別的日志 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>DEBUG</level>
<OnMismatch>DENY</OnMismatch>
<OnMatch>ACCEPT</OnMatch>
</filter>
<!--日志文件路徑,日志文件名稱-->
<!--<File>${LOG_DIR}</File>-->
<!--設置滾動策略崔兴,當天的日志大小超過 ${MAX_FILE_SIZE} 文件大小時候彰导,新的內(nèi)容寫入新的文件, 默認10MB -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--日志文件路徑敲茄,新的 ERR 日志文件名稱位谋,“ i ” 是個變量-->
<FileNamePattern>${LOG_DIR}/debug_${LOG_PREFIX}_%i.log</FileNamePattern>
<!--配置日志的滾動時間 ,表示只保留最近 10 天的日志-->
<MaxHistory>${MAX_HISTORY}</MaxHistory>
<!--當天的日志大小超過 ${MAX_FILE_SIZE} 文件大小時候折汞,新的內(nèi)容寫入新的文件倔幼, 默認10MB-->
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>${MAX_FILE_SIZE}</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<!--輸出的日志內(nèi)容格式化-->
<encoder>
<pattern>${LOG_MSG}</pattern>
<charset>${LOG_CHARSET}</charset>
</encoder>
</appender>
<!-- 定義 INFO 日志的輸出到文件:-->
<appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--<append>true</append>
append: true,日志被追加到文件結(jié)尾; false,清空現(xiàn)存文件;默認是true-->
<!--下面為配置只輸出debug級別的日志-->
<!--<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<OnMismatch>DENY</OnMismatch>
<OnMatch>ACCEPT</OnMatch>
</filter> -->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<!--過濾掉TRACE和DEBUG級別的日志 -->
<level>INFO</level>
</filter>
<!--日志文件路徑,日志文件名稱-->
<!--<File>${LOG_DIR}/info_${LOG_PREFIX}.log</File>-->
<!--設置滾動策略爽待,當天的日志大小超過 ${MAX_FILE_SIZE} 文件大小時候损同,新的內(nèi)容寫入新的文件翩腐, 默認10MB -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--日志文件路徑,新的 ERR 日志文件名稱膏燃,“ i ” 是個變量 -->
<!--<FileNamePattern>${LOG_DIR}/archived/log_%d{dd-MM-yyyy}_%i.log</FileNamePattern>-->
<FileNamePattern>${LOG_DIR}/info_${LOG_PREFIX}_%i.log</FileNamePattern>
<!--配置日志的滾動時間 茂卦,表示只保留最近 10 天的日志-->
<MaxHistory>${MAX_HISTORY}</MaxHistory>
<!--當天的日志大小超過 ${MAX_FILE_SIZE} 文件大小時候,新的內(nèi)容寫入新的文件组哩, 默認10MB-->
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>${MAX_FILE_SIZE}</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<!-- 輸出的日志內(nèi)容格式化-->
<encoder>
<pattern>${LOG_MSG}</pattern>
<charset>${LOG_CHARSET}</charset>
</encoder>
</appender>
<!-- 自定義日志的輸出到文件:-->
<appender name="gordon_controller" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${LOG_DIR}/gordon_controller_${LOG_PREFIX}_%i.log</FileNamePattern>
<!--配置日志的滾動時間 等龙,表示只保留最近 10 天的日志-->
<MaxHistory>${MAX_HISTORY}</MaxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>${MAX_FILE_SIZE}</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<pattern>${LOG_MSG}</pattern>
<charset>${LOG_CHARSET}</charset>
</encoder>
</appender>
<!-- 自定義日志的輸出到文件:-->
<appender name="gordon_propertiesTest" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${LOG_DIR}/gordon_properties_${LOG_PREFIX}_%i.log</FileNamePattern>
<!--配置日志的滾動時間 ,表示只保留最近 10 天的日志-->
<MaxHistory>${MAX_HISTORY}</MaxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>${MAX_FILE_SIZE}</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<pattern>${LOG_MSG}</pattern>
<charset>${LOG_CHARSET}</charset>
</encoder>
</appender>
<!--<logger name="com.gordon.controller" level="DEBUG" additivity="false">
<appender-ref ref="gordon_controller"></appender-ref>
</logger>
不能直接在這里寫additivity=“false”,否則只會記錄到文件中而不在控制臺打印伶贰。
解決辦法:看下面的多環(huán)境配置<springProfile></springProfile>
<logger name="com.gordon.propertiesTest" level="DEBUG" additivity="false">
<appender-ref ref="gordon_propertiesTest"></appender-ref>
</logger>-->
<root level="DEBUG">
<appender-ref ref="CONSOLE" />
<appender-ref ref="ERROR" />
<appender-ref ref="DEBUG" />
<appender-ref ref="INFO" />
</root>
<!-- additivity 設為false,則logger內(nèi)容不附加至root 蛛砰,配置以配置包下的所有類的日志的打印,級別是 ERROR-->
<logger name="org.springframework" level="ERROR" />
<logger name="org.apache.commons" level="ERROR" />
<logger name="org.apache.zookeeper" level="ERROR" />
<logger name="com.alibaba.dubbo.monitor" level="ERROR"/>
<logger name="com.alibaba.dubbo.remoting" level="ERROR" />
<!-- 測試環(huán)境+開發(fā)環(huán)境. 多個使用逗號隔開. -->
<springProfile name="test,dev">
<!--logger可定義出分包分文件存儲日志黍衙,如下:-->
<logger name="com.gordon.controller" level="DEBUG" additivity="true">
<appender-ref ref="gordon_controller"></appender-ref>
</logger>
<!--開發(fā)/測試環(huán)境 設置additivity="true"為了能在控制臺中打印出信息
其實這些在開發(fā)/測試環(huán)境都可以不配泥畅,因為addivity=“true"后,這些配置根本沒有生效琅翻,
而是直接將信息上傳到root根節(jié)點去了位仁,網(wǎng)上說會打印兩次,我這里是springboot2.0.3卻只打印一次方椎,
而且日志也沒有記錄到所配置的文件中聂抢,但卻記錄在ERROR,DEBUG,INFO配置的文件中。
-->
<logger name="com.gordon.propertiesTest" level="DEBUG" additivity="true">
<appender-ref ref="gordon_propertiesTest"></appender-ref>
</logger>
</springProfile>
<!-- 生產(chǎn)環(huán)境. -->
<springProfile name="prod">
<logger name="com.gordon.controller" level="DEBUG" additivity="false">
<appender-ref ref="gordon_controller"></appender-ref>
</logger>
<!--生產(chǎn)環(huán)境 設置additivity="false"只記錄到日志文件中-->
<logger name="com.gordon.propertiesTest" level="DEBUG" additivity="false">
<appender-ref ref="gordon_propertiesTest"></appender-ref>
</logger>
</springProfile>
</configuration>
SpringBoot LogBack配置
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門迟隅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人励七,你說我怎么就攤上這事智袭。” “怎么了掠抬?”我有些...
- 文/不壞的土叔 我叫張陵吼野,是天一觀的道長。 經(jīng)常有香客問我两波,道長瞳步,這世上最難降的妖魔是什么闷哆? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮单起,結(jié)果婚禮上抱怔,老公的妹妹穿的比我還像新娘。我一直安慰自己嘀倒,他們只是感情好屈留,可當我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著测蘑,像睡著了一般灌危。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上碳胳,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼贝攒!你這毒婦竟也來了盗誊?” 一聲冷哼從身側(cè)響起,我...
- 正文 年R本政府宣布怎憋,位于F島的核電站,受9級特大地震影響九昧,放射性物質(zhì)發(fā)生泄漏绊袋。R本人自食惡果不足惜赠橙,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望愤炸。 院中可真熱鬧期揪,春花似錦、人聲如沸规个。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽诞仓。三九已至缤苫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間墅拭,已是汗流浹背活玲。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- (轉(zhuǎn)載 Spring Boot-日志配置) 在src/main/resources下創(chuàng)建logback-sprin...
- SpringBoot框架內(nèi)部集成了LogBack日志唤蔗,默認使用LogBack的base.xml配置內(nèi)容來輸出日志到...
- 正文 日志文件在開發(fā)中至關重要探遵,是日后查看異常,排查bug的重要依據(jù)妓柜。像我大安卓箱季,也會有日志記錄類Thread.U...
- 問題描述 配置內(nèi)容: 報錯日志: 原因分析 涉及報錯的源碼在org.springframework.util.Re...
- 我們終于 不再聯(lián)系藏雏, 不管你會不會偶爾想起我 我想我都沒有什么遺憾, 因為曾經(jīng)的我 是多么希望可以再和你繼續(xù)塌衰, 想...