logback日志配置

引用JAR

<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-core</artifactId>
			<version>1.1.3</version>
		</dependency>
		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-classic</artifactId>
			<version>1.1.3</version>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>jcl-over-slf4j</artifactId>
			<version>1.6.6</version>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			  <groupId>org.slf4j</groupId>
			<artifactId>log4j-over-slf4j</artifactId>
			<version>1.6.6</version>
		</dependency>

 logback加载配置时,按以下顺序查找 logback.groovy ,logback-test.xml,logback.xml

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

	<!-- -->

	<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
		<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
			<Pattern>%-4level %d{HH:mm:ss.SSS} %thread %logger - %msg%n</Pattern>
		</encoder>
	</appender>

	<!-- level ERROR -->
	<appender name="file—error"
		class="ch.qos.logback.core.rolling.RollingFileAppender">
		<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
			<level>WARN</level>
			<!-- <onMatch>ACCEPT</onMatch>
			 <onMismatch>DENY</onMismatch>-->
		</filter>
		<file>${catalina.base}/groupmsg_error.log</file>
		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<FileNamePattern>crash_error.%d{yyyy-MM-dd}.log</FileNamePattern>
			<MaxHistory>30</MaxHistory>
		</rollingPolicy>
		<layout class="ch.qos.logback.classic.PatternLayout">
			<pattern>[%-4level][%d{HH:mm:ss.SSS}][%thread][%logger] - %msg%n
			</pattern>
		</layout>
	</appender>
	<appender name="file—info"
		class="ch.qos.logback.core.rolling.RollingFileAppender">
		<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
			<level>DEBUG</level>
		</filter>
		<file>${catalina.base}/groupmsg_info.log</file>
		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<FileNamePattern>groupmsg_info.%d{yyyy-MM-dd}.log</FileNamePattern>
			<MaxHistory>30</MaxHistory>
		</rollingPolicy>
		<encoder>
			<pattern>
				[%-4level][%d{HH:mm:ss.SSS}][%thread][%logger] - %msg%n
			</pattern>
	</encoder>
	</appender>
	
	<appender name="file—xiao"
		class="ch.qos.logback.core.rolling.RollingFileAppender">
		<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
			<level>DEBUG</level>
		</filter>
		<file>${catalina.base}/groupmsg_xiao.log</file>
		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<FileNamePattern>groupmsg_xiao.%d{yyyy-MM-dd}.log</FileNamePattern>
			<MaxHistory>30</MaxHistory>
		</rollingPolicy>
		<encoder>
			<pattern>
				[%mdc{user}][%-4level][%d{HH:mm:ss.SSS}][%thread][%logger] - %msg%n
			</pattern>
		</encoder>
	</appender>
	<logger name="java.sql.Connection">
		<level value="WARN" />
	</logger>
	<logger name="java.sql.Statement">
		<level value="WARN" />
	</logger>
	<logger name="com.ibatis">
		<level value="WARN" />
	</logger>
	<logger name="org.springframework">
		<level value="INFO"></level>
	</logger>
	<logger name="com.xiao.test" additivity="false">
		<level value="DEBUG"></level>
		<appender-ref ref="file—xiao" />
	</logger>
	<root>
		<level value="INFO" />
		<appender-ref ref="stdout" />
		<appender-ref ref="file—error" />
		<appender-ref ref="file—info" />
	</root>

</configuration>

logback对应的Converter,用来解析内容格式的

{exception=ch.qos.logback.classic.pattern.ThrowableProxyConverter, 
nopex=ch.qos.logback.classic.pattern.NopThrowableInformationConverter, 
yellow=ch.qos.logback.core.pattern.color.YellowCompositeConverter, 
boldBlue=ch.qos.logback.core.pattern.color.BoldBlueCompositeConverter,
 highlight=ch.qos.logback.classic.pattern.color.HighlightingCompositeConverter, 
level=ch.qos.logback.classic.pattern.LevelConverter, 
file=ch.qos.logback.classic.pattern.FileOfCallerConverter, 
thread=ch.qos.logback.classic.pattern.ThreadConverter, 
black=ch.qos.logback.core.pattern.color.BlackCompositeConverter, 
mdc=ch.qos.logback.classic.pattern.MDCConverter, 
lsn=ch.qos.logback.classic.pattern.LocalSequenceNumberConverter, 
white=ch.qos.logback.core.pattern.color.WhiteCompositeConverter, 
class=ch.qos.logback.classic.pattern.ClassOfCallerConverter, 
property=ch.qos.logback.classic.pattern.PropertyConverter, 
rootException=ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter, 
relative=ch.qos.logback.classic.pattern.RelativeTimeConverter,
 msg=ch.qos.logback.classic.pattern.MessageConverter, 
le=ch.qos.logback.classic.pattern.LevelConverter, 
marker=ch.qos.logback.classic.pattern.MarkerConverter, 
cn=ch.qos.logback.classic.pattern.ContextNameConverter, 
boldRed=ch.qos.logback.core.pattern.color.BoldRedCompositeConverter, 
caller=ch.qos.logback.classic.pattern.CallerDataConverter, 
lo=ch.qos.logback.classic.pattern.LoggerConverter, 
F=ch.qos.logback.classic.pattern.FileOfCallerConverter, 
boldCyan=ch.qos.logback.core.pattern.color.BoldCyanCompositeConverter,
 C=ch.qos.logback.classic.pattern.ClassOfCallerConverter,
 L=ch.qos.logback.classic.pattern.LineOfCallerConverter, 
M=ch.qos.logback.classic.pattern.MethodOfCallerConverter, 
line=ch.qos.logback.classic.pattern.LineOfCallerConverter, 
boldWhite=ch.qos.logback.core.pattern.color.BoldWhiteCompositeConverter, 
date=ch.qos.logback.classic.pattern.DateConverter, 
xException=ch.qos.logback.classic.pattern.ExtendedThrowableProxyConverter,
 BARE=ch.qos.logback.core.pattern.IdentityCompositeConverter, 
logger=ch.qos.logback.classic.pattern.LoggerConverter, 
nopexception=ch.qos.logback.classic.pattern.NopThrowableInformationConverter,
 X=ch.qos.logback.classic.pattern.MDCConverter, 
contextName=ch.qos.logback.classic.pattern.ContextNameConverter, 
boldGreen=ch.qos.logback.core.pattern.color.BoldGreenCompositeConverter, 
throwable=ch.qos.logback.classic.pattern.ThrowableProxyConverter,
 ex=ch.qos.logback.classic.pattern.ThrowableProxyConverter, 
d=ch.qos.logback.classic.pattern.DateConverter,
 boldYellow=ch.qos.logback.core.pattern.color.BoldYellowCompositeConverter, 
c=ch.qos.logback.classic.pattern.LoggerConverter, 
green=ch.qos.logback.core.pattern.color.GreenCompositeConverter,
 xThrowable=ch.qos.logback.classic.pattern.ExtendedThrowableProxyConverter, 
n=ch.qos.logback.classic.pattern.LineSeparatorConverter, 
boldMagenta=ch.qos.logback.core.pattern.color.BoldMagentaCompositeConverter,
 m=ch.qos.logback.classic.pattern.MessageConverter, 
gray=ch.qos.logback.core.pattern.color.GrayCompositeConverter, 
replace=ch.qos.logback.core.pattern.ReplacingCompositeConverter,
 message=ch.qos.logback.classic.pattern.MessageConverter, 
red=ch.qos.logback.core.pattern.color.RedCompositeConverter, 
t=ch.qos.logback.classic.pattern.ThreadConverter, 
magenta=ch.qos.logback.core.pattern.color.MagentaCompositeConverter, 
cyan=ch.qos.logback.core.pattern.color.CyanCompositeConverter, 
xEx=ch.qos.logback.classic.pattern.ExtendedThrowableProxyConverter, 
blue=ch.qos.logback.core.pattern.color.BlueCompositeConverter,
 r=ch.qos.logback.classic.pattern.RelativeTimeConverter, 
p=ch.qos.logback.classic.pattern.LevelConverter, 
rEx=ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter, 
method=ch.qos.logback.classic.pattern.MethodOfCallerConverter}

猜你喜欢

转载自xiaohu7978.iteye.com/blog/2317203