springboot之整合log4j2

sprongboot使用的默认日志框架是Logback, 本文展示整合 log4j2 的操作;

pom配置, 要将默认的logging去掉 ,

        <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>

        <dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
		</dependency>
		<dependency>
			<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>

配置文件

application.properties 中的配置

logging.config=classpath:log4j2.yml

在resource目录下添加配置文件

log4j2.yml

Configuration:
  status: warn
  Properties: # 定义变量  
    Property:
    - name: log.path
      value: logs/application.log
    - name: project.name
      value: common
Appenders:
  Console: #输出到控制台
    name: CONSOLE
    target: SYSTEM_OUT
    ThresholdFilter: 
      level: trace
      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: logs/application.log
    filePattern: logs/$${date:yyyy-MM}/common-%d{yyyy-MM-dd}-%i.log.gz
    PatternLayout:
      pattern: '%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%F:%L) - %m%n'
    Policies:
      SizeBasedTriggeringPolicy:
        size: 100 MB
    DefaultRolloverStrategy:
      max: 1000
Loggers:
  Root:
    level: info
    AppenderRef:
    - ref: CONSOLE
    - ref: ROLLING_FILE

写个Controller测试

package com.bus365.root.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RequestMapping("/log")
@RestController
public class LoggerController {
	
	private Logger logger = LoggerFactory.getLogger(getClass());
	
	@RequestMapping("/logtest")
	public String logtest() {
		logger.info("info message");
		logger.error("error message");
		return "success";
	}
}

可以看到logs 目录下的 日志文件;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值