①spring-boot-starter中自动依赖了spring-boot-starter-logging,所以不用新加依赖(如下图所示)
②在resource文件夹下新建配置logback-spring.xml(推荐-spring.xml结尾)
配置详解
共有两种属性和三个节点:
①两种属性:contextName和property
②三个节点:appender、root、logger
<?xml version="1.0" encoding="UTF-8"?>
#日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果设置为WARN,则低于WARN的信息都不会输出
#debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态,默认值为false
#scan:当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true
#scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟
<configuration debug="false" scan="false" scanPeriod="1 seconds">
<contextName>logback</contextName>
#设置日志存放目录(name的值是变量的名称,value的值时变量定义的值,可以使“${}”来使用变量)
<property name="log.path" value="./qa-log/"/>
#输出到控制台
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
#过滤器,只打印deubg级别的日志
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>deubg</level>
</filter>
#日志文件的格式
<encoder>
<pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<appender name="normal"
class="ch.qos.logback.core.rolling.RollingFileAppender">
#日志文件的路径及文件名
<file>${log.path}logback.log</file>
#日志记录器的滚动策略,按日期,按大小记录
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
#归档的日志文件的路径,%d{yyyy-MM-dd}指定日期格式
<fileNamePattern>${log.path}logback-%d{yyyy-MM-dd}.log</fileNamePattern>
#日志文件保留天数
<maxHistory>30</maxHistory>
<!--日志文件最大的大小-->
#<MaxFileSize>10MB</MaxFileSize>
</rollingPolicy>
#日志文件的格式
<encoder>
<pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n</pattern>
</encoder>
</appender>
#记录错误的日志
<appender name="error"
class="ch.qos.logback.core.rolling.RollingFileAppender">
#日志文件的路径及文件名
<file>${log.path}error/error.log</file>
#过滤器,只打印error级别的日志
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>error</level>
</filter>
#日志记录器的滚动策略,按日期,按大小记录
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
#日志文件输出的文件名,%d{yyyy-MM-dd}指定日期格式
<fileNamePattern>${log.path}error/error-%d{yyyy-MM-dd}.log</fileNamePattern>
#日志文件保留天数
<maxHistory>30</maxHistory>
</rollingPolicy>
#日志文件的格式
<encoder>
<pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n</pattern>
</encoder>
</appender>
#日志输出级别,level:用来设置打印级别,默认是DEBUG
#可以包含零个或多个元素,标识这个appender将会添加到这个loger
<root level="info">
<appender-ref ref="console" />
<appender-ref ref="normal" />
<appender-ref ref="error" />
</root>
#用来设置某一个包或者具体的某一个类的日志打印级别、以及指定<appender>。<logger>仅有一个name属 性,一个可选的level和一个可选的additivity属性
#additivity 是否向上级logger传递打印信息。默认是true。false:表示只用当前logger的appender-ref。true:表示当前logger的appender-ref和rootLogger的appender-ref都有效
<logger name="org.bl.xx.dao" level="debug" additivity="false">
<appender-ref ref="console" />
<appender-ref ref="normal" />
</logger>
</configuration>