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

<configuration scan="false" scanPeriod="60 seconds" debug="false"><!-- 这个是根配置文件，一定要有的
                            scan：
                                是当配置文件被修改后会被重新加载
                            scanPeriod:
                                设置监测配置文件是否有修改的时间间隔，如果没有给出时间单位，
                                默认单位是毫秒。当scan为true时，此属性生效。默认的时间间隔为1分钟。
                            debug：
                                当此属性设置为true时，将打印出logback内部日志信息，实时查看logback运行状态。
                                默认值为false。
                             -->
  <!-- 日志存放路径
      下面的标签可以自己定义
      name：相当于Map的key
      value：就是map的value
      ${catalina.base}是tomcat的当前路径
      /logs：就是tomcat下的日志路径，
      /ehrlog：如果没有目录会默认创建
  -->
  <property name="logbase" value="./logs/"/>
  <!-- 时间戳：这个时间戳可以作为每日日志的名称 -->
  <timestamp key="bySecond" datePattern="yyyy-MM-dd"/>
  <!-- appender：
      name相当于一个名称
      class：确定要加载哪个类
      encoder：一定要加 encoder ，
      默认配置为PatternLayoutEncoder
      patter：必填
      ConsoleAppender：也明白是什么意思，就是输出在控制台上-->
  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
      <charset>UTF-8</charset>
    </encoder>
  </appender>
  <!-- 把日志存储
      encoding：日志的编码
      file：指定当前生成的日志文件名称
      rollingPolicy：滚动策略
      FileNamePattern：移动文件最后的名称，跟file标签结合使用，
      比如file里面的内容是  1.txt
      那么，FileNamePattern里面写的是2.txt，那么最后文件名就为2.txt
      如果最后结尾是gz或者zip，那么，就会自动打成压缩包
      -->
  <appender name="logFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <!-- 编码 -->
    <!--<Encoding>UTF-8</Encoding>-->
    <!-- 按照时间来 -->
    <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
      <!--日志文件输出的文件名-->
      <FileNamePattern>${logbase}/%d{yyyy-MM-dd}/in-cloud.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
      <!--日志文件保留天数-->
      <MaxHistory>180</MaxHistory>
      <maxFileSize>10MB</maxFileSize>
      <totalSizeCap>1024MB</totalSizeCap>
      <cleanHistoryOnStart>true</cleanHistoryOnStart>
    </rollingPolicy>
    <!-- 布局 -->
    <encoder>
      <!--格式化输出：%d表示日期，%thread表示线程名，%-5level：级别从左显示5个字符宽度%msg：日志消息，%n是换行符-->
      <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
      <charset>UTF-8</charset>
    </encoder>
    <append>false</append>
  </appender>


  <!-- <appender name="TunnelLogFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
     &lt;!&ndash; 编码 &ndash;&gt;
     &lt;!&ndash;<Encoding>UTF-8</Encoding>&ndash;&gt;
     &lt;!&ndash; 按照时间来 &ndash;&gt;
     <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
       &lt;!&ndash;日志文件输出的文件名&ndash;&gt;
       <FileNamePattern>D://testlog//#TunnelName#.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
       &lt;!&ndash;日志文件保留天数&ndash;&gt;
       <MaxHistory>180</MaxHistory>
       <maxFileSize>10MB</maxFileSize>
       <totalSizeCap>1024MB</totalSizeCap>
       <cleanHistoryOnStart>true</cleanHistoryOnStart>
     </rollingPolicy>
     &lt;!&ndash; 布局 &ndash;&gt;
     <encoder>
       &lt;!&ndash;格式化输出：%d表示日期，%thread表示线程名，%-5level：级别从左显示5个字符宽度%msg：日志消息，%n是换行符&ndash;&gt;
       <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
       <charset>UTF-8</charset>
     </encoder>
     <append>false</append>
   </appender>

   <logger name="TunnelLogger" level="debug" additivity="true">
     <appender-ref ref="TunnelLogFile"/>
   </logger>-->

  <logger name="com.jiayue" level="info" additivity="true">
    <appender-ref ref="logFile"/>
  </logger>
  <logger name="org" level="info" additivity="true">
    <appender-ref ref="logFile"/>
  </logger>

  <root level="info">
    <appender-ref ref="STDOUT"/>
  </root>
</configuration>
