首页 > 其他分享 >logback.xml 配置文件

logback.xml 配置文件

时间:2022-09-01 14:46:10浏览次数:66  
标签:xml LOG 配置文件 MM dd yyyy HOME logback log

logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
    <!--<property name="LOG_HOME" value="${LOG_HOME}" />-->
    <property name="LOG_HOME" value="./logs" />
    
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder charset="UTF-8">
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
            <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] %highlight([%-5level] %logger{50} - %msg%n)</pattern>
            <!--<charset>UTF-8</charset>--><!--注释掉,解决Windows CMD 运行时 log 乱码-->
        </encoder>
    </appender>


    <appender name="SYS_DEBUG" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>${LOG_HOME}/debug.log</File>
        <append>true</append>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <fileNamePattern>${LOG_HOME}/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
            <!--日志文件保留天数-->
            <maxHistory>15</maxHistory>
            <!--日志文件最大的大小-->
            <!--<MaxFileSize>1000MB</MaxFileSize>-->
            <cleanHistoryOnStart>true</cleanHistoryOnStart>
        </rollingPolicy>
        <encoder charset="UTF-8">
            <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] %level [%thread] %file:%line - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <appender name="SYS_INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>${LOG_HOME}/info.log</File>
        <append>true</append>
        <!--过滤器,只打INFO级别的日志,日志文件最多保留15天(如果是按天滚动)-->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>INFO</level>
            <onMatch>ACCEPT</onMatch> <!-- 表示匹配该级别及以上 -->
            <onMismatch>DENY</onMismatch> <!-- 表示不匹配该级别以下的 -->
        </filter>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_HOME}/info.log.%d{yyyy-MM-dd}</fileNamePattern>
            <maxHistory>15</maxHistory>
            <!--日志文件保留天数-->
            <maxHistory>${maxHistory}</maxHistory>
            <!--日志文件最大的大小-->
            <!--<MaxFileSize>1000MB</MaxFileSize>-->            
            <!--启用删除删除功能,默认为自动删除-->
            <cleanHistoryOnStart>true</cleanHistoryOnStart>
        </rollingPolicy>

        <encoder charset="UTF-8">
            <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] %level [%thread] %file:%line - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <appender name="SYS_ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>${LOG_HOME}/error.log</File>
        <append>true</append>
        <!--过滤器,只打ERROR级别的日志-->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_HOME}/error.log.%d{yyyy-MM-dd}</fileNamePattern>
            <maxHistory>15</maxHistory>
            <cleanHistoryOnStart>true</cleanHistoryOnStart>
        </rollingPolicy>

        <encoder charset="UTF-8">
            <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] %level [%thread] %file:%line - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <appender name="SYS_WARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>${LOG_HOME}/warn.log</File>
        <append>true</append>
        <!--过滤器,只打WARN级别的日志-->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>WARN</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
            <fileNamePattern>${LOG_HOME}/warn.log.%d{yyyy-MM-dd}</fileNamePattern> 
            <maxHistory>15</maxHistory> 
            <cleanHistoryOnStart>true</cleanHistoryOnStart>
        </rollingPolicy>

        <encoder charset="UTF-8">
            <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] %level [%thread] %file:%line - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <!--不同业务产生的日志打印到不同文件中-->
    <appender name="API_HIS_INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>${LOG_HOME}/api_his_info.log</File>
        <append>true</append>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>INFO</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_HOME}/api_his_info.log.%d{yyyy-MM-dd}</fileNamePattern>
            <maxHistory>15</maxHistory>
            <cleanHistoryOnStart>true</cleanHistoryOnStart>
        </rollingPolicy>
        <encoder charset="UTF-8">
            <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] %level [%thread] %file:%line - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>
    <appender name="API_HIS_ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>${LOG_HOME}/error_api_his.log</File>
        <append>true</append>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_HOME}/error_api_his.log.%d{yyyy-MM-dd}</fileNamePattern>
            <maxHistory>15</maxHistory>
            <cleanHistoryOnStart>true</cleanHistoryOnStart>
        </rollingPolicy>
        <encoder charset="UTF-8">
            <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] %level [%thread] %file:%line - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <appender name="API_IRON_INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>${LOG_HOME}/api_iron_info.log</File>
        <append>true</append>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>INFO</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_HOME}/api_iron_info.log.%d{yyyy-MM-dd}</fileNamePattern>
            <maxHistory>15</maxHistory>
            <cleanHistoryOnStart>true</cleanHistoryOnStart>
        </rollingPolicy>
        <encoder charset="UTF-8">
            <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] %level [%thread] %file:%line - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>
    <appender name="API_IRON_ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>${LOG_HOME}/error_api_iron.log</File>
        <append>true</append>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_HOME}/error_api_iron.log.%d{yyyy-MM-dd}</fileNamePattern>
            <maxHistory>15</maxHistory>
            <cleanHistoryOnStart>true</cleanHistoryOnStart>
        </rollingPolicy>
        <encoder charset="UTF-8">
            <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] %level [%thread] %file:%line - %msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <!--设置 com.iron.demo 包空间下面的日志 level 显示-->
    <logger name="com.iron.demo" level="INFO"/>


    <!-- 不同的业务逻辑日志打印到指定文件中 && info 和 error 分开  additivity=false 不会加到 SYS_XXX 默认系统日志中,在使用 Spring Boot Admin 时,需要将这个去掉,因为Spring Boot Admin-Client 只能指定一个日志文件, -->
    <logger name="apiHis" level="INFO">
        <appender-ref ref="API_HIS_INFO"/>
    </logger>
    
    <logger name="apiIron" additivity="false" level="INFO">
        <!--打到控制台-->
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="API_IRON_INFO"/>
        <appender-ref ref="API_IRON_ERROR"/>
    </logger>

    <!--系统级的日志(默认) info和error分开打印-->
    <root level="INFO">
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="SYS_DEBUG"/>
        <appender-ref ref="SYS_INFO"/>
        <appender-ref ref="SYS_WARN"/>
        <appender-ref ref="SYS_ERROR"/>
    </root>

</configuration>

 

标签:xml,LOG,配置文件,MM,dd,yyyy,HOME,logback,log
From: https://www.cnblogs.com/vipsoft/p/16646440.html

相关文章

  • 把数据库连接字符串放到配置文件中
    当项目交到客户方后,数据库连接相关信息有可能需要更改,如数据库服务器的ip地址,用户名,密码等,为了避免到时候需多次更改数据库连接字符串信息,需要将连接字符串放到配置文件中,......
  • ET框架7 StartConfig配置文件分析
    StartMachineConfigId内网地址外网地址守护进程端口IdInnerIPOuterIPWatcherPortintstringstringstring1127.0.0.1127.0.0.110000StartPro......
  • XmlReader & XElement 遍历大文件xml,不使用内存。测试可以读取6G的xml
    [TestMethod]publicvoidTestMethod1(){//try//{//stringresult=newBoDowJonesWatchlistAutoUpdate().......
  • XElement类来读取XML
    <Table><Product><Product_id>1</Product_id><Product_name>Product1</Product_name><Product_p......
  • 项目实用-logback.xml配置-sql和异常在不同的文件中
    <configuration><!--本文主要输出日志为控制台日志,系统日志,sql日志,异常日志--><!--%m输出的信息,%p日志级别,%t线程名,%d日期,%c类的全名,,,,--><!--控制台-......
  • XML文件sql转义字符
    使用CDATA区段所有XML文档中的文本均会被解析器解析。只有CDATA区段(CDATAsection)中的文本会被解析器忽略。大于等于<![CDATA[>=]]>小于等于<![CDATA[<=]]>......
  • 小狼毫输入法导入搜狗词库方法以及其他配置文件
    default.custom.yaml文件的修改"C:\Users\xxx\AppData\Roaming\Rime\default.custom.yaml"文件名:default.custom.yamlcustomization:distribution_code_name:Weas......
  • 02.XML技术
    一、XML简介XML指可扩展标记语言(eXtensibleMarkupLanguage),是用来传输和存储数据的,是一种通用的数据交换格式,可以使数据在不同应用程序间交换,具有很强的可扩展性。 ......
  • SpringBoot配置文件application
    原文链接Map配置YML配置文件:sys-num:mymap:"{'a':'aaa','b':'bbb'}"方法内:publicclasslearnMap{@Value("#{${sys-num.mymap}}")privateMap<Strin......
  • 【django学习-03】Django的配置文件(settings)
    Django的配置文件setting.py用于配置整个网站的环境和功能,核心配置必须有项目路径、秘钥配置、域名访问权限、APP列表、中间件、资源文件、模板配置、数据库的链接方式等......