http://tengj.top/2017/04/05/springboot7/

------------------

logback使用指南。

公司配置

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="5 seconds" debug="true"> <property resource="${profile.properties}/logback.properties" />
<appender name="stdoutAppender" class="ch.qos.logback.core.ConsoleAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>${logback.stdoutLevel}</level>
</filter>
<!-- encoder 默认配置为PatternLayoutEncoder -->
<encoder>
<pattern>${logback.msg}</pattern>
</encoder>
</appender> <appender name="debugAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${logback.userHome}/${logback.fileName}_${logback.rootLevel}${logback.suffix}</file> <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>${logback.rootLevel}</level>
</filter> <encoder>
<pattern>${logback.msg}</pattern>
</encoder> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- rollover daily -->
<fileNamePattern>${logback.userHome}/${logback.fileName}_${logback.rootLevel}_%d{${logback.datePattern}}.%i.log</fileNamePattern>
<!-- keep ${logback.maxHistory} days' worth of history -->
<maxHistory>${logback.maxHistory}</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- or whenever the file size reaches ${logback.maxFileSize} -->
<maxFileSize>${logback.maxFileSize}</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
</appender> <appender name="noticelog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${logback.userHome}/notice_${logback.rootLevel}.log</File> <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>${logback.rootLevel}</level>
</filter> <encoder>
<pattern>${logback.msg}</pattern>
</encoder> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${logback.userHome}/notice_${logback.rootLevel}_%d{${logback.datePattern}}.%i.log</FileNamePattern>
<maxHistory>${logback.maxHistory}</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>${logback.maxFileSize}</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
</appender>
<logger name="NOTICE-LOG" additivity="false" level="debug">
<appender-ref ref="noticelog"/>
<appender-ref ref="debugAppender" />
</logger> <logger name="org.apache.activemq" level="WARN" additivity="false">
<appender-ref ref="debugAppender" />
</logger> <logger name="org.apache.zookeeper" level="WARN" additivity="false">
<appender-ref ref="debugAppender"/>
</logger> <!-- TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF -->
<root level="${logback.rootLevel}">
<appender-ref ref="stdoutAppender" />
<appender-ref ref="debugAppender" />
</root>
</configuration>

配置文件

logback.msg=%date [%thread] [%X{uid} - %X{url}] %-5level %logger{80} - %msg%n
logback.suffix=.log
logback.fileName=${project.artifactId}
logback.userHome=./logs/${project.artifactId}
#The date-and-time pattern, as found within the accolades of %d{} follow java.text.SimpleDateFormat conventions
logback.datePattern=yyyy-MM-dd
#keep ${logback.maxHistory} 'logback.datePattern' worth of history
logback.maxHistory=30
logback.maxFileSize=200MB
#TRACE, DEBUG, INFO, WARN, ERROR, ALL, OFF
logback.stdoutLevel=debug
logback.rootLevel=debug
05-23 12:18