1.引入依赖包
<!--日志-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.16</version>
</dependency>
2.在resources下创建logback-spring.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true">
<!-- 此xml在spring-boot-1.5.3.RELEASE.jar里 -->
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
<!--控制台打印日志,不需要配置appender了-->
<include resource="org/springframework/boot/logging/logback/console-appender.xml" />
<!-- 开启后可以通过jmx动态控制日志级别(springboot Admin的功能) -->
<!--<jmxConfigurator/>-->
<!--总日志-->
<appender name="ALL-FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--日志存放路径-->
<file>../logs/springboot-mybatis.log</file>
<encoder>
<!-- pattern节点,用来设置日志的输入格式 -->
<pattern>%date [%level] [%thread] %logger{60} [%file : %line] %msg%n</pattern>
<!--文件编码格式-->
<charset>UTF-8</charset>
</encoder>
<!-- 滚动策略 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 添加.gz 历史日志会启用压缩 大大缩小日志文件所占空间 -->
<fileNamePattern>../logs/springboot-mybatis.log.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 保留30天日志 -->
<maxHistory>30</maxHistory>
<!--文件最大存储-->
<totalSizeCap>10GB</totalSizeCap>
</rollingPolicy>
</appender>
<!--错误日志-->
<appender name="ERROR-FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--日志存放路径-->
<file>../logs/error.log</file>
<encoder>
<pattern>%date [%level] [%thread] %logger{60} [%file : %line] %msg%n</pattern>
<!--文件编码格式-->
<charset>UTF-8</charset>
</encoder>
<!-- 滚动策略 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 添加.gz 历史日志会启用压缩 大大缩小日志文件所占空间 -->
<fileNamePattern>../logs/error.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 保留30天日志 -->
<maxHistory>30</maxHistory>
<!--文件最大存储-->
<totalSizeCap>10GB</totalSizeCap>
</rollingPolicy>
<!-- 过滤日志 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<!-- 用于配置符合过滤条件的操作 -->
<onMatch>ACCEPT</onMatch>
<!-- 用于配置不符合过滤条件的操作 -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<logger name="com.weigang.dao" level="INFO"/>
<root level="INFO">
<!--控制台打印日志-->
<appender-ref ref="CONSOLE"/>
<appender-ref ref="ALL-FILE"/>
<appender-ref ref="ERROR-FILE"/>
</root>
</configuration>
3.在application.yml配置文件中加入日志配置
#logger配置
logging:
config: classpath:logback-spring.xml
4.在需要使用日志的业务层可以加上注解@Slf4j,就可以打印自己想要的日志格式
public List<HrUserEntity> getUsers(){
List<HrUserEntity> users = hrUserMapper.selectAllUser();
log.info("获取用户列表:{}",users);
return users;
}
2019-09-25 12:18:12.284 INFO 10092 --- [nio-7000-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
2019-09-25 12:18:12.285 INFO 10092 --- [nio-7000-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
2019-09-25 12:18:12.292 INFO 10092 --- [nio-7000-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 7 ms
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
2019-09-25 12:18:12.372 INFO 10092 --- [nio-7000-exec-1] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} inited
2019-09-25 12:18:12.684 INFO 10092 --- [nio-7000-exec-1] com.weigang.service.HrUserService : 获取用户列表:[HrUserEntity(id=1, age=20, name=wg1), HrUserEntity(id=2, age=20, name=wg2), HrUserEntity(id=3, age=20, name=wg3)]
5.页面上或者postman测试,如果控制台有错误打印出来,可以去本地文件查看有error.log文件生成,里面就是存放的错误日志