springboot通log4j添加日志管理功能

wylc123 1年前 ⋅ 2207 阅读

1、目标

设置日志保存路径,分月份,日期,等级到不同的文件夹和文件。

2、引入Maven

<!--日志管理-->
		<!-- exclude掉spring-boot的默认log配置 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
			<exclusions>
				<exclusion>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-starter-logging</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<!-- 引入log4j2依赖 -->
		<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-log4j2 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-log4j2</artifactId>
			<version>2.0.7.RELEASE</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.dataformat/jackson-dataformat-yaml -->
		<dependency><!-- 加上这个才能辨认到log4j2.yml文件 -->
			<groupId>com.fasterxml.jackson.dataformat</groupId>
			<artifactId>jackson-dataformat-yaml</artifactId>
		</dependency>
		<!--日志管理-->

3、设置application.yml

# 日志设置
logging:
  config: classpath:log4j2.yml
  pattern:
    #console: "%d  %-5level %logger{36} %n%msg %n%n"
    console: "%msg %n"
  path: d:/
  level:
    root: info
    cnki:
      bdms:
        module:
          search:
            dal: debug

4、设置log4j2.yml

# 共有8个级别,按照从低到高为:ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF。
Configuration:
  status: INFO
  monitorInterval: 30

  Properties: # 定义全局变量
    Property: # 缺省配置(用于开发环境)。其他环境需要在VM参数中指定,如下:
      #测试:-Dlog.level.console=warn -Dlog.level.xjj=trace
      #生产:-Dlog.level.console=warn -Dlog.level.xjj=info
      - name: log.level.console
        value: debug
      - name: log.sql.level
        value: trace
      - name: LOG_HOME
        value: /eshop-log/logs
  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} %5p %c{1}:%L - %m%n"
    RollingFile: # 输出到文件,超过128MB归档
      - name: info
        ignoreExceptions: false
        fileName: ${LOG_HOME}/${date:yyyy-MM}/${date:yyyy-MM-dd}/info.log
        filePattern: "${LOG_HOME}/${date:yyyy-MM}/info-%d{yyyy-MM-dd}-%i.log.gz"
        ThresholdFilter:
          level: info
          onMatch: ACCEPT
          onMismatch: DENY
        PatternLayout:
          pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n"
        Policies:
          SizeBasedTriggeringPolicy:
            size: "128 MB"
        DefaultRolloverStrategy:
          max: 1000
      - name: debug
        ignoreExceptions: false
        fileName: ${LOG_HOME}/${date:yyyy-MM}/${date:yyyy-MM-dd}/debug.log
        filePattern: "${LOG_HOME}/$${date:yyyy-MM}/debug-%d{yyyy-MM-dd}-%i.log.gz"
        ThresholdFilter:
          level: debug
          onMatch: ACCEPT
          onMismatch: DENY
        PatternLayout:
          pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n"
        Policies:
          SizeBasedTriggeringPolicy:
            size: "128 MB"
        DefaultRolloverStrategy:
          max: 1000
      - name: error
        ignoreExceptions: false
        fileName: ${LOG_HOME}/${date:yyyy-MM}/${date:yyyy-MM-dd}/error.log
        filePattern: "${LOG_HOME}/$${date:yyyy-MM}/error-%d{yyyy-MM-dd}-%i.log.gz"
        ThresholdFilter:
          level: error
          onMatch: ACCEPT
          onMismatch: DENY
        PatternLayout:
          pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n"
        Policies:
          SizeBasedTriggeringPolicy:
            size: "128 MB"
        DefaultRolloverStrategy:
          max: 1000
  Loggers:
    Root:
      level: info
      AppenderRef:
        - ref: CONSOLE
        - ref: info
        - ref: debug
        - ref: error
    Logger: # 为com.xjj包配置特殊的Log级别,方便调试
      - name: cnki.cqsd.module.search.dal
        additivity: true
        level: ${sys:log.sql.level}
        AppenderRef:
          - ref: info
          - ref: debug
          - ref: error
          - ref: CONSOLE

 

更多内容请访问:IT源点

相关文章推荐

全部评论: 0

    我有话说: