引用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}

1786

被折叠的 条评论
为什么被折叠?



