Configuration:
  status: warn
  monitorinterval: 5

  Properties: # 定义全局变量
    Property: # 缺省配置(用于开发环境)。其他环境需要在VM参数中指定,如下:
      - name: log.level.console
        value: info
      - name: log.path
        value: /opt/logs
      - name: project.name
        value: local_ris

  Appenders:
    Console: #输出到控制台
      name: CONSOLE
      target: SYSTEM_OUT
      ThresholdFilter:
        level:  ${sys:log.level.console} # “sys:”表示:如果VM参数中没指定这个变量值,则使用本文件中定义的缺省全局变量值
        onMatch: ACCEPT
        onMismatch: DENY
      PatternLayout:
        pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%F:%L) - %m%n"
    RollingFile:
      - name: ROLLING_FILE
        ignoreExceptions: false
        fileName: ${log.path}/${project.name}.log
        filePattern: "${log.path}/${project.name}-%d{yyyy-MM-dd}-%i.log"
        PatternLayout:
          pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%F:%L) - %m%n"
        Policies:
          SizeBasedTriggeringPolicy:
            #文件超过多少进行切割
            size: "500 MB"
        DefaultRolloverStrategy:
          #当天最多有多少个文件存在
          max: 3
          Delete:
            #删除文件的根路径
            basePath: ${log.path}
            maxDepth: 2
            IfFileName:
              #删除日志匹配规则
              glob: "${project.name}-*.log"
            IfLastModified:
              #保留多少天的日志
              age: "7d"
      - name: ROLLING_FILE_ERROR
        ignoreExceptions: false
        ThresholdFilter:
          level:  ERROR # “sys:”表示:如果VM参数中没指定这个变量值,则使用本文件中定义的缺省全局变量值
          onMatch: ACCEPT
          onMismatch: DENY
        fileName: ${log.path}/${project.name}-error.log
        filePattern: "${log.path}/${project.name}-error-%d{yyyy-MM-dd}-%i.log"
        PatternLayout:
          pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%F:%L) - %m%n"
        Policies:
          SizeBasedTriggeringPolicy:
            size: "500 MB"
        DefaultRolloverStrategy:
          max: 3
          Delete:
            #删除文件的根路径
            basePath: ${log.path}
            maxDepth: 2
            IfFileName:
              #删除日志匹配规则
              glob: "${project.name}-error-*.log"
            IfLastModified:
              #保留多少天的日志
              age: "7d"

  Loggers:
    Root:
      level: info
      AppenderRef:
        - ref: CONSOLE
        - ref: ROLLING_FILE
        - ref: ROLLING_FILE_ERROR