log4j2和lombok的使用

在springboot中使用log4j2的方式记录日志, 并使用lombok的注解 @Log4j2 使代码更加简洁, 具体操作如下:

1. log4j2相关配置

使用log4j2前需要排除springboot默认使用的日志, 并添加log4j2依赖.

<!-- 排除默认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 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
<!-- 日志异步 -->
<dependency>
    <groupId>com.lmax</groupId>
    <artifactId>disruptor</artifactId>
    <version>3.2.0</version>
</dependency>

同时需要在application.properties文件中添加log4j2.xml日志路径, 这里将文件命名为: log4j2-spring.xml,格式如下:

logging.config=classpath:log4j2-spring.xml
2. lombok相关配置

在配置使用log4j2之后, 也可以使用注解的声明对象, 首先添加 lombok 的相关依赖:

<!-- lombok -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
</dependency>

这样便可以使用注解: @log4j2的方式打印日志, 可以通过源码看出 @log4j2的含义.

@Log4j2
@RestController
public class BonusInfoController {

    // private Logger logger = LogManager.getLogger(BonusInfoController.class);

    @RequestMapping("/bonusInfo")
    public String reqTest(String reqStr) {

        log.info("测试收到参数: {}", reqStr);

        return "ok";
    }
}

测试控制台输出内容为:

[2017-12-02 14:32:21:036]-[com.liuzhihang.springboot.controller.BonusInfoController.reqTest(BonusInfoController.java:28)] - [http-nio-8080-exec-3] -[INFO ] - [测试收到参数: test]

lombok的注解还有一些别的使用方式.


   转载规则


《log4j2和lombok的使用》 liuzhihang 采用 知识共享署名 4.0 国际许可协议 进行许可。
  目录