一.简单配置
在默认情况下Spring Boot只会在控制台输出日志。
如果不用复杂的功能,只是希望能在文件中输出同样的日志。
只需要在application.properity加入如下配置:
#日志存储目录
logging.path=D:/log/MyProject
#设置具体包的日志级别(这里将与MyBatis相关的mapper包设置为debug级别,效果就是在日志中输出sql语句)
logging.level.cn.theUnit4.Mapper=debug
二.更多的配置
要想更加定制化地进行日志输出,需要自己写logback.xml配置文件,在resources目录下新建logback.xml文件,spring-boot会自动读取该文件,而弃用默认配置。
一种配置,如下所示。其中配置了控制台、文件两种日志输出方式。并且文件时按天另存为新文件,并个性化设置了日志输出格式。同时也做到了给具体包设置不同的日志级别。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!--这个名字将反应到每一条日志的开头-->
<contextName>car-trace-logging</contextName>
<!--设置变量,下面有用到。含义是日志保存路径-->
<property name="log.path" value="D:/log/CarTrace" />
<!--输出到控制台-->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<!-- 级别过滤 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<!--日志输出格式-->
<encoder>
<pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!--输出到文件-->
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--日志名,用到了上面配置的路径-->
<file>${log.path}/car-trace.log</file>
<!--根据yyyy-MM-dd所以是每天新建文件,也可以设置其它格式,如每月或每分-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.path}/car-trace.%d{yyyy-MM-dd}.log.zip</fileNamePattern>
</rollingPolicy>
<encoder>
<pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!--设置日志隔离级别-->
<root level="info">
<appender-ref ref="console"/>
<appender-ref ref="file" />
</root>
<!--设置具体包的隔离级别-->
<logger name="cn.theUnit4.Mapper" level="debug"/>
</configuration>
参考资料
https://blog.csdn.net/liujun03/article/details/82684209