Springboot工具篇04:log4j2集成,配合lombok更好用

       对于一个系统来说,日志是很重要的部分,日志可以帮助我们快速查找系统相关异常,可以帮助开发人员调试程序,可以监控系统程序运行情况,日志分为不同的级别(我比较常用的就是debug,info,error,其余的不多赘述,感兴趣的可以上网查一下找各种日志级别)。虽然日志对于我们很重要,但作为开发人员来说还是不想花费太多的代码在日志上面。话不多说,下面我们来看看怎样在springboot项目中集成log4j2以及怎样结合lombok使代码更加简洁。

1. pom.xml文件中添加log4j2和lombok依赖

去掉springboot默认的日志配置:

Springboot工具篇04:log4j2集成,配合lombok更好用_第1张图片

 添加maven依赖

        
        
            org.springframework.boot
            spring-boot-starter-log4j2
        
        
        
            org.projectlombok
            lombok
            1.18.4
            provided
        

2. 创建log4j2配置文件

在resources目录下面创建配置文件,文件名为log4j2-spring.xml(注意文件名,这样我们不需要再application.properties文件中添加配置)。

配置文件内容如下(文件中的说明不做过多赘述):







    
    
        
        
            
            
        
        
        
            
        
        
        
            
                
                
                
            
            
            
                
                
            
        

        
            
                
                
            
            
            
                
                
            
            
            
        

        
            
            
            
                
                
            
        

    
    
    
        
        
        
        
        
        
            
            
            
            
            
            
        
    

 

3. 添加lombok插件

点击idea的file-->Settings-->Plugins 再搜索框中输入lombok,具体操作如下图:

Springboot工具篇04:log4j2集成,配合lombok更好用_第2张图片

Springboot工具篇04:log4j2集成,配合lombok更好用_第3张图片 安装完成之后重启idea即可

4. 使用log4j2和lombok

现在使用log4j2只需要在相关的类上面添加@Slf4j注解即可(该注解由lombok提供)

具体代码如下:

DemoController.java

package com.example.demo.controller;

import com.example.demo.controller.dto.PersonDto;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/demo")
@Slf4j
public class DemoController {
    @RequestMapping(value = "/test", method = {RequestMethod.GET, RequestMethod.POST})
    public String test() {
        log.info("测试方法");
        return "hello,this is zhngxian's demo";
    }

    @RequestMapping(value = "/person", method = {RequestMethod.GET, RequestMethod.POST})
    public PersonDto person() {
        log.info("查询人员信息开始-------");
        PersonDto personDto = new PersonDto();
        personDto.setName("张三丰");
        personDto.setAge(120);
        personDto.setSex("男");
        personDto.setAddress("武当山");
        log.info("查询人员信息结束-------");
        return personDto;
    }
}

PersonDto.java (@Data也是lombok提供的,免去了实体类中getter和setter方法,代码更简洁,编译的时候会自动生成getter和setter方法)

package com.example.demo.controller.dto;

import lombok.Data;

@Data
public class PersonDto {
    private String name;
    private int age;
    private String sex;
    private String address;
}

启动项目,日志不再是原来的默认格式:

Springboot工具篇04:log4j2集成,配合lombok更好用_第4张图片

测试controller中的日志,在浏览器中输入:http://localhost:8080/demo/person

Springboot工具篇04:log4j2集成,配合lombok更好用_第5张图片

你可能感兴趣的:(工具,springboot工具)