SpringBoot日志配置(详解) 涉及控制台输出日志、生成日志文件、日志级别修改、hibernate日志不输出

写在前面

本篇主要讲述日志配置,看完本篇可以解决下述问题,

控制台输出日志、生成日志文件、日志级别修改、hibernate日志不输出

Git Demo Path:https://github.com/MingHaiTian/springboot-start.git

--------------------------------------------------------------------------------------------------------

正文开始

spring-boot包含logback-classic、logback-core,所以仅需配置spring-boot即可

第一步:创建logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true">
    <!--输出日志到 命令行-->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
        </encoder>
    </appender>
    <!--输出日志到 日志文件-->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--输出文件路径-->
        <file>log/tianminghai.log</file>
        <!--输出文件大于固定大小自动压缩-->
        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
            <fileNamePattern>log/tianminghai.%i.log.gz
            </fileNamePattern>
            <minIndex>1</minIndex>
            <maxIndex>4</maxIndex>
        </rollingPolicy>
        <triggeringPolicy
                class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
            <maxFileSize>50MB</maxFileSize>
        </triggeringPolicy>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
        </encoder>
    </appender>
    <!--此处可以调整输出日志级别 改为debug可以看到更多日志,包括hiber..、system   debug类型以上的的日志-->
    <root level="info">
        <appender-ref ref="STDOUT"/>
        <appender-ref ref="FILE"/>
    </root>
</configuration>

这种方式创建的log目录在项目根目录下

 

此处值得一提的是

1上述配置包括控制台输出和文件输出;

2上述配置实现.log文件大于50M自动压缩成包;

3<root level="info">代表当前日志输出级别为info,不会显示debug级别日志,如果改为<root level="debug">可以看到debug级别日志,诸如大量hibernate操作。

PS:日志级别由低到高排序

TRACE < DEBUG < INFO < WARN < ERROR < FATAL

第二步:在pom中引用logback.xml资源

<build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>*.properties</include>
                    <include>logback.xml</include>
                </includes>
            </resource>
        </resources>

        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
</build>

第三步:程序中引用


import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

private
final Logger logger = LoggerFactory.getLogger(UserController.class);

以上,

  亲测可用

 

posted @ 2018-06-15 15:36  初心tianmh  阅读(3403)  评论(0编辑  收藏  举报