八、SpringBoot Logback日志

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文件生成,里面就是存放的错误日志

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值