• logbackspring.xml彩色日志


    <?xml version="1.0" encoding="UTF-8"?>
    <configuration debug="false">
        <!--定义日志文件的存储地址 -->
        <property name="LOG_HOME" value="../logs" />
    
        <property name="COLOR_PATTERN" value="%black(%contextName-) %red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta( %replace(%caller{1}){'\t|Caller.{1}0|\r\n', ''})- %gray(%msg%xEx%n)" />
        <!-- 控制台输出 -->
        <appender name="STDOUT"
                  class="ch.qos.logback.core.ConsoleAppender">
            <!--
            日志输出格式:
                %d表示日期时间,
                %thread表示线程名,
                %-5level:级别从左显示5个字符宽度
                %logger{50} 表示logger名字最长50个字符,否则按照句点分割。
                %msg:日志消息,
                %n是换行符
                %-15.15():如果记录的线程字符长度小于15(第一个)则用空格在右侧补齐,如果字符长度大于15(第二个),则从开头开始截断多余的字符
                %-50.50():如果记录的logger字符长度小于50(第一个)则用空格在右侧补齐,如果字符长度大于50(第二个),则从开头开始截断多余的字符
                %highlight():颜色,info为蓝色,warn为浅红,error为加粗红,debug为黑色
                %boldMagenta:粗红
                %magenta:洋红
                $cyan:青色
                %white:白色
            -->
            <layout class="ch.qos.logback.classic.PatternLayout">
                <springProfile name="dev">
                    <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS}  %highlight(%-5level) %magenta([%-15.15(%thread)])  %cyan( %-50.50(%logger{50} )) : %msg%n</pattern>
                </springProfile>
                <springProfile name="!dev">
                    <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS}  %highlight(%-5level) %magenta([%-15.15(%thread)])  %cyan( %-50.50(%logger{50} )) : %msg%n</pattern>
                </springProfile>
            </layout>
        </appender>
    
        <!-- 按照每天生成日志文件 -->
        <appender name="FILE"
                  class="ch.qos.logback.core.rolling.RollingFileAppender">
            <rollingPolicy
                    class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!--日志文件输出的文件名 -->
                <FileNamePattern>${LOG_HOME}/dh_logs.%d{yyyy-MM-dd}.log
                </FileNamePattern>
                <!--日志文件保留天数 -->
                <MaxHistory>30</MaxHistory>
            </rollingPolicy>
            <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
                <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
                <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}:%L - %msg%n</pattern>
            </encoder>
            <!--日志文件最大的大小 -->
            <triggeringPolicy
                    class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
                <MaxFileSize>10MB</MaxFileSize>
            </triggeringPolicy>
        </appender>
    
        <!-- 生成html格式日志开始 -->
        <appender name="HTML" class="ch.qos.logback.core.FileAppender">
            <!-- 过滤器,只记录WARN级别的日志 -->
            <!-- <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>info</level>
                <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> -->
    
            <encoder
                    class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
                <layout class="ch.qos.logback.classic.html.HTMLLayout">
                    <pattern>%p%d%msg%M%F{32}%L</pattern>
                </layout>
            </encoder>
            <file>${LOG_HOME}/error-log.html</file>
        </appender>
        <!-- 生成html格式日志结束 -->
    
        <!-- 每天生成一个html格式的日志开始 -->
        <appender name="FILE_HTML"
                  class="ch.qos.logback.core.rolling.RollingFileAppender">
            <rollingPolicy
                    class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!--日志文件输出的文件名 -->
                <FileNamePattern>${LOG_HOME}/dh_logs.%d{yyyy-MM-dd}.html
                </FileNamePattern>
                <!--日志文件保留天数 -->
                <MaxHistory>30</MaxHistory>
            </rollingPolicy>
            <encoder
                    class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
                <layout class="ch.qos.logback.classic.html.HTMLLayout">
                    <pattern>%p%d%msg%M%F{32}%L</pattern>
                </layout>
            </encoder>
            <!--日志文件最大的大小 -->
            <triggeringPolicy
                    class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
                <MaxFileSize>10MB</MaxFileSize>
            </triggeringPolicy>
        </appender>
        <!-- 每天生成一个html格式的日志结束 -->
    
        <!--myibatis log configure -->
        <logger name="com.apache.ibatis" level="TRACE" />
        <logger name="java.sql.Connection" level="DEBUG" />
        <logger name="java.sql.Statement" level="DEBUG" />
        <logger name="java.sql.PreparedStatement" level="DEBUG" />
    
    
        <!--<include resource="org/springframework/boot/logging/logback/base.xml" />
        <logger name="org.springframework.web" level="INFO"/>
        <logger name="org.springboot.sample" level="TRACE" />
    -->
        <springProfile name="dev,test">
            <logger name="org.springframework.web" level="INFO"/>
            <logger name="org.springboot.sample" level="INFO" />
            <logger name="com.dapingtv" level="DEBUG" />
        </springProfile>
    
        <springProfile name="prod">
            <logger name="org.springframework.web" level="ERROR"/>
            <logger name="org.springboot.sample" level="ERROR" />
            <logger name="com.dapingtv" level="ERROR" />
        </springProfile>
    
        <!-- 日志输出级别 -->
        <root level="INFO">
            <appender-ref ref="STDOUT" />
            <appender-ref ref="FILE" />
            <appender-ref ref="HTML" />
            <appender-ref ref="FILE_HTML" />
        </root>
    
    </configuration>
  • 相关阅读:
    事件驱动模型 泽桐
    装饰器 泽桐
    多用户在线FTP程序 泽桐
    gevent协程、select IO多路复用、socketserver模块 改造多用户FTP程序例子 泽桐
    mysql系列学习 泽桐
    mysql练习题 泽桐
    第1章 Python基础 泽桐
    协程 泽桐
    利用统计进行中文分词与词性分析
    js 数字输入控制,保留两位小数
  • 原文地址:https://www.cnblogs.com/ki16/p/15587460.html
Copyright © 2020-2023  润新知