zoukankan      html  css  js  c++  java
  • springboot日志配置

    我改的日志配置文件:

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration scan="true" scanPeriod="60 seconds" debug="false">
        <contextName>logback</contextName>
        <!--自定义一个属性,用于配置日志文件名称前缀,可以用应用名-->
        <property name="log.app" value="account"/>
        <!--配置日志文件的输出路径-->
        <!--<property name="log.path" value="D:/ty/account/logs"/>-->
        <property name="log.path" value="../${log.app}-logs/"/>
        <!--输出到控制台-->
        <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
            <!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息-->
            <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
                <level>debug</level>
            </filter>
            <encoder>
                <!--<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>-->
                <!-- 格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度,%logger表示类全名,%line显示代码行号,%msg:日志消息,%n是换行符 -->
                <pattern>%yellow(%date{yyyy-MM-dd HH:mm:ss})|%cyan(%-5level) %highlight(%X{trackId})|%cyan(%thread) |%green(%logger:%yellow(%line)) |%cyan(%msg%n)</pattern>
                <charset>utf-8</charset>
            </encoder>
        </appender>
    
        <!--输出到文件-->
        <!--输出到debug-->
        <!--<appender name="debug" class="ch.qos.logback.core.rolling.RollingFileAppender">-->
            <!--<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">-->
                <!--<fileNamePattern>${log.path}/logback-debug-%d{yyyy-MM-dd}.log</fileNamePattern>-->
            <!--</rollingPolicy>-->
            <!--<append>true</append>-->
            <!--<encoder>-->
                <!--<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>-->
                <!--<charset>utf-8</charset>-->
            <!--</encoder>-->
            <!--<filter class="ch.qos.logback.classic.filter.LevelFilter">&lt;!&ndash; 只打印DEBUG日志 &ndash;&gt;-->
                <!--<level>DEBUG</level>-->
                <!--<onMatch>ACCEPT</onMatch>-->
                <!--<onMismatch>DENY</onMismatch>-->
            <!--</filter>-->
        <!--</appender>-->
    
        <!--输出到info-->
        <appender name="info" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <!--时间转换器-->
            <!--<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">-->
            <!--大小和时间转换器-->
            <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
                <fileNamePattern>${log.path}/${log.app}-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
                <!-- each file should be at most 1GB, keep 60 days worth of history, but at most 20GB -->
                <maxFileSize>1GB</maxFileSize>
                <maxHistory>60</maxHistory>
                <totalSizeCap>20GB</totalSizeCap>
            </rollingPolicy>
            <append>true</append>
            <encoder>
                <!--<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36}:%line - %msg%n</pattern>-->
                <pattern>%d{yyyy-MM-dd HH:mm:ss} |%-5level%X| [%thread] %logger{60}:%line|%msg%n</pattern>
                <charset>utf-8</charset>
            </encoder>
            <filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 只打印INFO日志 -->
                <level>INFO</level>
                <onMatch>ACCEPT</onMatch>
                <onMismatch>DENY</onMismatch>
            </filter>
        </appender>
    
        <!--输出到error-->
        <appender name="error" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
                <fileNamePattern>${log.path}/${log.app}-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
                <maxFileSize>1GB</maxFileSize>
                <maxHistory>60</maxHistory>
                <totalSizeCap>20GB</totalSizeCap>
            </rollingPolicy>
            <append>true</append>
            <encoder>
                <pattern>%d{yyyy-MM-dd HH:mm:ss} |%-5level%X| [%thread] %logger:%line|%msg%n</pattern>
                <charset>utf-8</charset>
            </encoder>
            <filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 只打印ERROR日志 -->
                <level>ERROR</level>
                <onMatch>ACCEPT</onMatch>
                <onMismatch>DENY</onMismatch>
            </filter>
        </appender>
    
        <!--输出到warn-->
        <!--<appender name="warn" class="ch.qos.logback.core.rolling.RollingFileAppender">-->
            <!--<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">-->
                <!--<fileNamePattern>${log.path}/logback-warn-%d{yyyy-MM-dd}.log</fileNamePattern>-->
            <!--</rollingPolicy>-->
            <!--<append>true</append>-->
            <!--<encoder>-->
                <!--<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>-->
                <!--<charset>utf-8</charset>-->
            <!--</encoder>-->
            <!--<filter class="ch.qos.logback.classic.filter.LevelFilter">&lt;!&ndash; 只打印WARN日志 &ndash;&gt;-->
                <!--<level>WARN</level>-->
                <!--<onMatch>ACCEPT</onMatch>-->
                <!--<onMismatch>DENY</onMismatch>-->
            <!--</filter>-->
        <!--</appender>-->
    
        <!--分别设置对应的日志输出节点 -->
        <root level="info">
            <appender-ref ref="console" />
            <!--<appender-ref ref="debug" />-->
            <appender-ref ref="info" />
            <appender-ref ref="error" />
            <!--<appender-ref ref="warn" />-->
        </root>
    
    </configuration>

     (%logger{36}  代码class的全名,后面加{36}是对包名缩写后的最大字符为36位,可以参考如下链接:

    http://logback.qos.ch/manual/layouts.html#conversionWord)

    转:

    Logback日志配置(分级别输出到不同文件)

    项目使用springboot2.0

    springboot2.0基于jdk1.8,不兼容1.7

    springboot1.5.x基于jdk1.7,兼容1.8

    项目结构图如下:

    logback配置文件名为logback-spring.xml

    路径需要写在application.properties中,如下:

    logging.config=classpath:log/logback-spring.xml 

    注意:springboot2.0与1.5.x有区别

    2.0配置:logging.config=classpath:    log/logback-spring.xml 

    1.5.10配置:logging.config=classpath:  ./log/logback-spring.xml (注意前面的./)

    或者logging.config=classpath:    log/logback-spring.xml ,本人暂时发现两个配置不知道什么原因,有的时候第一个行,有的时候第二个行

    =======================================================================

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration scan="true" scanPeriod="60 seconds" debug="false">
    <contextName>logback</contextName>
    <property name="log.path" value="D:\JAVA_LOGS\transferservice_Logs\" />
    <!--输出到控制台-->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
    <!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息-->
    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
    <level>debug</level>
    </filter>
    <encoder>
    <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
    <charset>utf-8</charset>
    </encoder>
    </appender>

    <!--输出到debug-->
    <appender name="debug" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
    <fileNamePattern>${log.path}/logback-debug-%d{yyyy-MM-dd}.log</fileNamePattern>
    </rollingPolicy>
    <append>true</append>
    <encoder>
    <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
    <charset>utf-8</charset>
    </encoder>
    <filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 只打印DEBUG日志 -->
    <level>DEBUG</level>
    <onMatch>ACCEPT</onMatch>
    <onMismatch>DENY</onMismatch>
    </filter>
    </appender>

    <!--输出到info-->
    <appender name="info" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
    <fileNamePattern>${log.path}/logback-info-%d{yyyy-MM-dd}.log</fileNamePattern>
    </rollingPolicy>
    <append>true</append>
    <encoder>
    <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
    <charset>utf-8</charset>
    </encoder>
    <filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 只打印INFO日志 -->
    <level>INFO</level>
    <onMatch>ACCEPT</onMatch>
    <onMismatch>DENY</onMismatch>
    </filter>
    </appender>

    <!--输出到error-->
    <appender name="error" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
    <fileNamePattern>${log.path}/logback-error-%d{yyyy-MM-dd}.log</fileNamePattern>
    </rollingPolicy>
    <append>true</append>
    <encoder>
    <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
    <charset>utf-8</charset>
    </encoder>
    <filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 只打印ERROR日志 -->
    <level>ERROR</level>
    <onMatch>ACCEPT</onMatch>
    <onMismatch>DENY</onMismatch>
    </filter>
    </appender>

    <!--输出到warn-->
    <appender name="warn" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
    <fileNamePattern>${log.path}/logback-warn-%d{yyyy-MM-dd}.log</fileNamePattern>
    </rollingPolicy>
    <append>true</append>
    <encoder>
    <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
    <charset>utf-8</charset>
    </encoder>
    <filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 只打印WARN日志 -->
    <level>WARN</level>
    <onMatch>ACCEPT</onMatch>
    <onMismatch>DENY</onMismatch>
    </filter>
    </appender>

    <!--分别设置对应的日志输出节点 -->
    <root level="info">
    <appender-ref ref="console" />
    <appender-ref ref="debug" />
    <appender-ref ref="info" />
    <appender-ref ref="error" />
    <appender-ref ref="warn" />
    </root>

    </configuration>

  • 相关阅读:
    [重回VB6]简单的QQWeb网游辅助工具开发之旅1、序言,另类的QQ登陆方法
    QQ和360大战我的观点
    不用IE Test ,快速对IE兼容性进行测试
    第八届软件设计大赛完全作品赛前评析与剧透
    屌丝如何分发大文件(大于1G)
    NetDog 酷炫版 0.1测试版发布
    Jquery制作的页码插件
    使用Html5+CSS3摆脱JS做带提示文字的输入框
    在nhibernate中,Load相同ID的实体对象的时候出错的问题!
    fieldset,legend
  • 原文地址:https://www.cnblogs.com/libin6505/p/13490402.html
Copyright © 2011-2022 走看看