<?xml version="1.0" encoding="UTF-8"?>
<!-- debug:打印logback內(nèi)部日志信息砚哆,實時查看logback的運行狀態(tài)兵拢,默認為false -->
<!-- scan:配置文件如果發(fā)生改變妻顶,是否被重新加載俭茧,默認為true。 -->
<!-- scanPeriod:設置檢測配置文件是否有修改的時間間隔,如果沒有給出時間單位,默認單位是毫秒,默認的時間間隔為1分鐘斯棒,默認為true。 -->
<configuration debug="true" scan="true" scanPeriod="30 seconds">
<contextName>SpringBoot Demo</contextName>
<!-- 時間戳定義主经,timeReference:使用日志產(chǎn)生日期為時間基準 -->
<timestamp key="byDay" datePattern="yyyy-MM-dd" timeReference="contextBirth"/>
<!--定義日志文件的存儲地址 勿在 LogBack 的配置中使用相對路徑荣暮,可以使用系統(tǒng)變量 -->
<!-- <property name="LOG_HOME" value="${app.home}/log" /> -->
<property name="LOG_HOME" value="log"/>
<!-- appender很重要,一個配置文件會有多個appender -->
<!-- ConsoleApperder意思是從console中打印出來 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- On Windows machines setting withJansi to true enables ANSI
color code interpretation by the Jansi library. This requires
org.fusesource.jansi:jansi:1.8 on the class path. Note that
Unix-based operating systems such as Linux and Mac OS X
support ANSI color codes by default.
http://blog.csdn.net/u013613428/article/details/51499552
-->
<withJansi>true</withJansi>
<!-- 過濾器罩驻,一個appender可以有多個 -->
<!-- 閾值過濾穗酥,就是log行為級別過濾,debug及debug以上的信息會被打印出來 -->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>debug</level>
</filter>
<!-- encoders are assigned the type
ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
<!-- encoder編碼規(guī)則 -->
<encoder>
<!--<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>-->
<!--<pattern>%d %contextName %msg%n</pattern>-->
<!-- pattern模式 %d時間 %thread 線程名 %level行為級別 %logger logger名稱 %method 方法名稱 %message 調(diào)用方法的入?yún)⑾?-->
<pattern>%-4d [%green(%thread)] %highlight(%-5level) %cyan(%logger).%-10method - %message%n</pattern>
</encoder>
<!-- 常用的Pattern變量,大家可打開該pattern進行輸出觀察 -->
<!--
<pattern>
%d{yyyy-MM-dd HH:mm:ss} [%level] - %msg%n
Logger: %logger
Class: %class
File: %file
Caller: %caller
Line: %line
Message: %m
Method: %M
Relative: %relative
Thread: %thread
Exception: %ex
xException: %xEx
nopException: %nopex
rException: %rEx
Marker: %marker
%n
</pattern>
-->
</appender>
<!-- 按照每天生成日志文件 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 日志輸出文件 -->
<file>${LOG_HOME}/LoggingBack.log</file>
<!-- 追加日志到原文件結(jié)尾 -->
<append>true</append>
<!-- timebasedrollingpolicy:演示時間和大小為基礎的日志文件歸檔 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 歸檔的日志文件的路徑,例如今天是2013-12-21日志砾跃,當前寫的日志文件路徑為file節(jié)點指定骏啰。 -->
<!--可以將此文件與file指定文件路徑設置為不同路徑,從而將當前日志文件或歸檔日志文件置不同的目錄抽高。 -->
<!--而2013-12-21的日志文件在由fileNamePattern指定判耕。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
<!-- 文件滾動日期格式:每天:.YYYY-MM-dd(默認)翘骂;每星期:.YYYY-ww壁熄;每月:.YYYY-MM -->
<!-- 每隔半天:.YYYY-MM-dd-a;每小時:.YYYY-MM-dd-HH碳竟;每分鐘:.YYYY-MM-dd-HH-mm -->
<fileNamePattern>${LOG_HOME}/log-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<!-- 控制歸檔文件的最大數(shù)量的保存请毛,刪除舊的文件,默認單位天數(shù) -->
<maxHistory>7</maxHistory>
<!-- 設置當前日志的文件的大小瞭亮,決定日志翻滾 -->
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- 除按日志記錄之外,還配置了日志文件不能超過10M(默認)固棚,若超過10M统翩,日志文件會以索引0開始, -->
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<!-- encoders 作用是將logger事件轉(zhuǎn)換成字節(jié)數(shù)組此洲,并將字節(jié)數(shù)組寫入到輸出流-->
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n
</pattern>
</encoder>
</appender>
<appender name="FILE-INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 這里添加一個過濾器 -->
<file>${LOG_HOME}/LoggingBack-info.log</file>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_HOME}/LOG-INFO-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<maxHistory>7</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n
</pattern>
</encoder>
</appender>
<appender name="FILE-ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 這里添加一個過濾器 -->
<file>${LOG_HOME}/LoggingBack-error.log</file>
<!--<filter>標簽厂汗。
過濾器,執(zhí)行一個過濾器會有返回個枚舉值呜师,即DENY娶桦,NEUTRAL,ACCEPT其中之一汁汗。
返回DENY衷畦,日志將立即被拋棄不再經(jīng)過其他過濾器;
返回NEUTRAL知牌,有序列表里的下個過濾器過接著處理日志祈争;
返回ACCEPT,日志會被立即處理角寸,不再經(jīng)過剩余過濾器菩混。
過濾器被添加到<Appender> 中,為<Appender> 添加一個或多個過濾器后扁藕,可以用任意條件對日志進行過濾沮峡。<Appender> 有多個過濾器時,按照配置順序執(zhí)行亿柑。
-->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_HOME}/LOG-ERROR-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<maxHistory>7</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n
</pattern>
</encoder>
</appender>
<!-- 可以寫多個日志文件appender邢疙,然后區(qū)分多個模塊的日志 -->
<appender name="BACKUP" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_HOME}/LoggingBack2.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_HOME}/LOG-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<maxHistory>7</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n
</pattern>
</encoder>
</appender>
<!-- 為單獨的包配置日志級別,若root的級別大于此級別, 此處級別也會輸出
應用場景:生產(chǎn)環(huán)境一般不會將日志級別設置為trace或debug秘症,但是為詳細的記錄SQL語句的情況照卦,
可將hibernate的級別設置為debug,如此一來乡摹,日志文件中就會出現(xiàn)hibernate的debug級別日志役耕,
而其它包則會按root的級別輸出日志
-->
<logger name="org.hibernate.SQL" level="DEBUG"/>
<logger name="org.hibernate.jdbc" level="DEBUG"/>
<logger name="org.springframework" level="DEBUG"/>
<!-- 指定一個包,name必填聪廉,additivity選填:控制是否繼承父類appender瞬痘,默認true -->
<!-- level選填,如果木有指定從最近的父類繼承板熊,頂級為root的級別 -->
<logger name="com.wisely.ch7_7" additivity="true">
<appender-ref ref="FILE"/>
<appender-ref ref="FILE-INFO"/>
<appender-ref ref="FILE-ERROR"/>
<appender-ref ref="BACKUP"/>
</logger>
<!-- root, 只有在level及以上級別的日志會被輸出 -->
<!-- 例如: 當root level設置為INFO時, appender DEBUG中無法獲取到DEBUG級別的日志事件, 則DEBUG日志信息也不會寫入debug.log中. -->
<root level="DEBUG">
<appender-ref ref="STDOUT"/>
</root>
</configuration>
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)容
- 前言 今天來介紹下Spring Boot如何配置日志logback,我剛學習的時候缭乘,是帶著下面幾個問題來查資料的沐序,...
- Log Java日志:(slf4j、log4j堕绩、logback策幼、common-logging ) slf4j 是規(guī)...
- 原文地址:http://www.sanjinbest.com/blog/94c7142f17734327bb626...