zoukankan      html  css  js  c++  java
  • 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);

    以上,

      亲测可用

  • 相关阅读:
    统计代码测试覆盖率-Python
    第一篇
    svn统计代码行数(增量)
    android多渠道打包
    解决Error:All flavors must now belong to a named flavor dimension. Learn more at...
    Cannot set the value of read-only property 'outputFile' for ApkVariantOutputImpl_Decorated{...
    解决Android编译时出现aapt.exe finished with non-zero exit value 1
    自定义Json解析工具
    Process 'command 'D:jdk8jdkinjava.exe'' finished with non-zero exit value 2
    C:Program FilesJavajdk1.7.0_79injava.exe'' finished with non-zero exit value 1
  • 原文地址:https://www.cnblogs.com/tianmh/p/9187588.html
Copyright © 2011-2022 走看看