<?xml version="1.0" encoding="UTF-8" ?>
<!--
    scan:当此属性设置为true时，配置文件如果发生改变，将会被重新加载，默认值为true
    scanPeriod:设置监测配置文件是否有修改的时间间隔，如果没有给出时间单位默认单位是毫秒，当scan为true时此属性生效，默认时间间隔为1分钟
    debug:当此属性设置为true时，将打印出logback内部日志信息，实时查看logback运行状态，默认值为false
 -->
<configuration scan="true" scanPeriod="2 seconds">

    <!-- <logger name="com.xcbeyond.springboot" level="debug"/> -->

    <!-- 定义日志文件的存储路径和文件名 -->
    <property name="LOG_HOME" value="logs"/>

    <!-- 禁止显示初始化调试信息 -->
    <statusListener class="ch.qos.logback.core.status.NopStatusListener" />

    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 真名，即最终日志文件的名称 -->
        <file>${LOG_HOME}/backendsys.log</file>
        <!-- 滚动策略 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 归档的日志文件名 -->
            <fileNamePattern>${LOG_HOME}/backendsys.log.%d{yyyy-MM-dd}.%i.gz</fileNamePattern>
            <!-- 保留天数 -->
            <maxHistory>7</maxHistory>
            <!-- 除按天归档外，还配置了当文件达到一定大小时会被归档 -->
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>5MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <!-- 日志格式 -->
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern>[%d{yyyy-MM-dd HH:mm:ss}][%-5level][%thread] %logger{36} - %msg%n</pattern>
        </layout>
    </appender>

    <!-- 将日志添加到控制台 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--            <pattern>%green(%date) %highlight(%level) [%thread] %logger{10}.%class{0}#%method[%file:%line] %n%msg%n</pattern>-->
<!--            <pattern>[%green(%d{yyyy-MM-dd HH:mm:ss})][%highlight(%level)][%thread] %logger{10}.%class{0}#%method[%file:%line] %n%msg%n</pattern>-->
            <pattern>[%green(%d{yyyy-MM-dd HH:mm:ss})][%highlight(%level)][%thread] %logger{36} - %msg%n</pattern>
            <charset>utf-8</charset>
        </encoder>
    </appender>

   <!-- 日志记录器，可以指定包或者具体的类 -->
    <root level="INFO">
        <appender-ref ref="FILE"/>
        <appender-ref ref="STDOUT"/>
    </root>

</configuration>
