lookback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<!--
scan:程序运行时配置文件被修改,是否重新加载,true:重新加载;false:不重新加载;默认为 true;
scanPeriod:监测配置文件被修改的时间间隔,默认为 1 分钟,默认单位包括:milliseconds、seconds、minutes 和 hours;
debug:是否打印 logback 程序运行的日志信息,默认为false;
格式:
%d{HH:mm:ss.SSS}:时间格式化,14:06:49.812;
%line:输出执行日志请求的行号;
%thread:表示产生日志的线程名;
%level:输出日志级别;
%method:输出执行日志请求的方法名;
%class:输出日志打印类的全限定名;
%-4relative含义:“-”左对齐标志,接着是可选的最小宽度修饰符,十进制表示,relative 输出从程序启动到创建日志的时间,单位毫秒;
%msg:表示应用程序打印的日志信息;
%n:表示换行符;
%logger{36}:class 的全名,数字代表限制最长的字符;
-->
<configuration debug="false" scan="true" scanPeriod="30 seconds">
<!-- 定义常量 -->
<property name="env" value="dev" />
<property name="project" value="java_spring_boot" />
<property name="root" value="/var/log" />
<property name="fileSize" value="50MB" />
<property name="maxHistory" value="100" />
<timestamp key="dateTime" datePattern="yyyy-MM-dd HH:mm:ss" />
<property name="pattern" value="%d{${dateTime}} %-5level %logger{36} -- %msg%n" />
<!-- 控制台打印 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder charset="utf-8">
<pattern>${pattern}</pattern>
</encoder>
</appender>
<!-- 输入到文件,按日期和文件大小 -->
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder charset="utf-8">
<pattern>${pattern}</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${root}/${project}_${env}_%d.%i.log</fileNamePattern>
<maxHistory>${maxHistory}</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>${fileSize}</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
</appender>
<!-- 指定第三方 jar 包或者自定义包的输出日志级别,additivity: false,不会打印两次 -->
<Logger name="org.springframework" level="INFO" additivity="false">
<appender-ref ref="console"/>
<appender-ref ref="file"/>
</Logger>
<!-- Root Logger Level: TRACE < DEBUG < INFO < WARN < ERROR -->
<root level="DEBUG">
<appender-ref ref="console" />
<appender-ref ref="file" />
</root>
</configuration>
lookback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<contextName>atguiguSrb</contextName>
<!-- 日志的输出目录 -->
<property name="log.path" value="D:/project/srb_log/core" />
<!--控制台日志格式:彩色日志-->
<!-- magenta:洋红 -->
<!-- boldMagenta:粗红-->
<!-- cyan:青色 -->
<!-- white:白色 -->
<!-- magenta:洋红 -->
<property name="CONSOLE_LOG_PATTERN"
value="%yellow(%date{yyyy-MM-dd HH:mm:ss}) %highlight([%-5level]) %green(%logger) %msg%n"/>
<!--文件日志格式-->
<property name="FILE_LOG_PATTERN"
value="%date{yyyy-MM-dd HH:mm:ss} [%-5level] %thread %file:%line %logger %msg%n" />
<!--编码-->
<property name="ENCODING"
value="UTF-8" />
<!-- 控制台日志 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
<charset>${ENCODING}</charset>
</encoder>
</appender>
<!-- 文件日志 -->
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>${log.path}/log.log</file>
<append>true</append>
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
<charset>${ENCODING}</charset>
</encoder>
</appender>
<!-- 滚动日志配置 -->
<appender name="ROLLING_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 要区别于其他的appender中的文件名字 -->
<file>${log.path}/log-rolling.log</file>
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
<charset>${ENCODING}</charset>
</encoder>
<!-- 设置滚动日志记录的滚动策略 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志归档路径以及格式 -->
<fileNamePattern>${log.path}/info/log-rolling-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<!--归档日志文件保留的最大数量(15个)-->
<maxHistory>15</maxHistory>
<!--归档日志文件保留的最大存储(500MB),超过生成新日志文件-->
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>500MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
</appender>
<!-- 开发环境和测试环境 -->
<springProfile name="dev,test">
<!-- 日志记录器 -->
<logger name="com.atguigu" level="INFO">
<appender-ref ref="CONSOLE" />
<appender-ref ref="ROLLING_FILE" />
</logger>
</springProfile>
<!-- 生产环境 -->
<springProfile name="prod">
<!-- 日志记录器 -->
<logger name="com.atguigu" level="ERROR">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</logger>
</springProfile>
</configuration>