Log4j2日志

log4j2日志配置详解

log4j2日志配置,调整参数本地调试看看效果。

 

Configuration:
  status: INFO

  Properties: # 定义全局变量
    Property: # 缺省配置(用于开发环境)。其他环境需要在VM参数中指定,如下:
      #测试:-Dlog.level.console=warn -Dlog.level.birdsh=trace
      #生产:-Dlog.level.console=warn -Dlog.level.birdsh=info
      - name: log.level.console
        value: info
      - name: log.level.logdemo
        value: info
      - name: log.path
        value: /home/logdemo/program/runtime/logs/logInfodemo
      - name: project.name
        value: logInfodemo

  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: # 输出到文件,超过128MB归档
      - 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: "100MB"
          TimeBasedTriggeringPolicy:
            interval: 1     # 每天归档一次 (单位由filePattern控制)
            modulate: true   # 以凌晨0点为界限归档
        DefaultRolloverStrategy:
          max: 5   # 保留7个归档周期的数据   每个周期档的文件最多数量; 仅保留上一周期的5个文件和当前周期的文件,每到一个周期节点会删除上一周期档的日志文件,同时继续生成本周期的日志文件,归档周期产生的日志大小需要大于最大文件大小,否则文件个数不准确
          Delete:
            maxDepth: 2
            basePath: ${log.path}
            IfLastModified:
              age: 1h

  Loggers:
    Root:
      level: ${sys:log.level.logdemo}
      AppenderRef:
        - ref: CONSOLE
        - ref: ROLLING_FILE
    Logger: # 为com.birdsh包配置特殊的Log级别,方便调试
      - name: com.logdemo
        additivity: false
        level: ${sys:log.level.logdemo}
        AppenderRef:
          - ref: CONSOLE
          - ref: ROLLING_FILE
      - name: com.ibatis
        additivity: false
        level: ${sys:log.level.logdemo}
        AppenderRef:
          - ref: CONSOLE
          - ref: ROLLING_FILE

 引入maven

  <dependency>  <!-- 加上这个才能辨认到log4j2.yml文件 -->
            <groupId>com.fasterxml.jackson.dataformat</groupId>
            <artifactId>jackson-dataformat-yaml</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-log4j2</artifactId>
        </dependency>

 

posted @ 2020-03-12 09:25  一人一见  阅读(359)  评论(0)    收藏  举报