技术帮
 

SpringBoot中的日志输出

本网站内容基本都是原创作品,未得到作者同意也欢迎转载
转载请注明出处:技术帮
说你呢,赶紧长按二维码,然后点击识别图中二维码

任何技术难题可进QQ群提问:【小崔说编程
对于提问的原则是:没有你不能问的,只有我不会答的

1472955908895017376.png说两句


SpringBoot中推荐采用Log4j2 


1473058358717068189.png 加入依赖

在maven的pom.xml中加入一下依赖。

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-web</artifactId>
	<!-- exclude掉spring-boot的默认log配置 -->  
	<exclusions>
		<exclusion>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-logging</artifactId>
		</exclusion>
	</exclusions>
</dependency>

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


 加入log4j2.yml

该文件加入到classpath路径下

说明:以下的配置文件中有好多的dy,因为该配置文件取自一个项目叫dy。。。

Configuration:  
  status: warn  
  
  Properties: # 定义全局变量  
    Property: # 缺省配置(用于开发环境)。其他环境需要在VM参数中指定,如下:  
      #测试:-Dlog.level.console=warn -Dlog.level.dy=trace  
      #生产:-Dlog.level.console=warn -Dlog.level.dy=info        
      - name: log.level.console  
        value: trace  
      - name: log.level.dy
        value: info         
      - name: log.path  
        value: /cui/logs  
      - name: project.name  
        value: dy  
    
  Appenders:  
    Console:  #输出到控制台  
      name: CONSOLE  
      target: SYSTEM_OUT  
      ThresholdFilter:  
        level: ${sys:log.level.console} # sys:表示:如果VM参数中没指定这个变量值,则使用本文件中定义的缺省全局变量值  
        onMatch: ACCEPT  
        onMismatch: DENY  
      PatternLayout:  
        pattern: "%d{MM-dd HH:mm:ss}:%4p %t (%F:%L) - %m%n"  
    RollingFile: # 输出到文件,超过12MB归档  
      - name: ROLLING_FILE  
        ignoreExceptions: false  
        fileName: ${log.path}/${project.name}.log  
        filePattern: "${log.path}/$${date:yyyy-MM}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz"  
        PatternLayout:  
          pattern: "%d{MM-dd HH:mm:ss}:%4p %t (%F:%L) - %m%n"  
        Policies:  
          SizeBasedTriggeringPolicy:  
            size: "12 MB"  
        DefaultRolloverStrategy:  
          max: 1000  
  
  Loggers:  
    Root:  
      level: info  
      AppenderRef:  
        - ref: CONSOLE  
        - ref: ROLLING_FILE  
    Logger: # 为com.wskj包配置特殊的Log级别,方便调试  
      - name: com.cui 
        additivity: false  
        level: ${sys:log.level.dy}  
        AppenderRef:  
          - ref: CONSOLE  
          - ref: ROLLING_FILE