SpringBoot整合LogBack配置

SpringBoot整合LogBack配置,包括文件输出,控制台输出以及mybatis的sql语句打印。

SpringBoot整合LogBack配置,包括文件输出,控制台输出以及mybatis的sql语句打印。


SpringBoot整合了Mybatis。通常为了debug的方便,也会把mybatis的日志打印出来。


这里简单说明以下SpringBoot整合LogBack配置。


主要配置信息:logback-boot.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!-- 此xml在spring-boot-1.5.3.RELEASE.jar里 -->
    <include resource="org/springframework/boot/logging/logback/defaults.xml" />
    <include resource="org/springframework/boot/logging/logback/console-appender.xml" />
    <!-- 开启后可以通过jmx动态控制日志级别(springboot Admin的功能) -->
    <!--<jmxConfigurator/>-->

    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--<File>log/wepage.log</File>-->
        <File>log/wepage.log</File>
        <encoder>
            <pattern>%date [%level] [%thread] %logger{60} [%file : %line] %msg%n</pattern>
        </encoder>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 添加.gz 历史日志会启用压缩 大大缩小日志文件所占空间 -->
            <!--<fileNamePattern>/home/hfw-client/hfw_log/stdout.log.%d{yyyy-MM-dd}.log</fileNamePattern>-->
            <fileNamePattern>log/wepage.log.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <maxHistory>30</maxHistory><!--  保留30天日志 -->

            <timeBasedFileNamingAndTriggeringPolicy  class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <!-- maxFileSize:这是活动文件的大小,默认值是10MB,测试时可改成1KB看效果 -->
                <maxFileSize>1KB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>

        </rollingPolicy>
    </appender>

    <logger name="com.winzkj.wepage.mapper" level="DEBUG" />

    <root level="INFO">
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="FILE"/>
    </root>
</configuration>


并且在application.yml中添如下配置:

# 配置日志信息
logging:
  config: classpath:logback-boot.xml



如果想在代码中打印log日志。往常我们会在类中创建logger对象,进行打印,如下;

private static final Logger logger = LoggerFactory.getLogger(YjServiceImpl.class);
    logger.error("xxx");


也可以使用@Slf4j注解来使用log对象打印日志。lombok的依赖

<!--@Slf4j自动化日志对象-log-->
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.4</version>
    <scope>provided</scope>
</dependency>

之后便可在类上添加注解@Slf4j来使用log对象打印。如下:

@Slf4j@RestControllerpublic class HfwController {
    log.info("");
}


文章最后修改时间:2018年12月30日 09:54:54

ICP备案号:粤ICP备18068480号
Copyright © 林国来版权所有