Spring Boot 2中如何使用log4j2日志框架
本篇文章为大家展示了Spring Boot 2中如何使用log4j2日志框架,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
排除Logback依赖
Spring Boot 2.x默认使用Logback日志框架,要使用 Log4j2必须先排除 Logback。
org.springframework.boot spring-boot-starter org.springframework.boot spring-boot-starter-logging
引入Log4j2依赖
org.springframework.boot spring-boot-starter-log4j2
上面的 log4j2 已经适配了slf4j日志门面,所以我们的代码无需替换,只需要替换具体的日志框架以及对应的配置文件。
配置Log4j2
创建log4j2.xml
文件,放在工程resources
目录里。这样就可以不加任何配置。如果你需要指定配置文件需要在Spring boot 配置文件application.yml
中指定 logging.config
属性。下面是一份比较详细的 log4j2 配置文件 :
基本上你拿上面的配置根据你自己的需要更改一下即可生效。 windows 下 ${sys:user.home}
会将日志打印到用户目录下
调用Logger输出日志
下面的示例代码使用了神器lombok
中的@Slf4j
注解可以很方便的使用 org.slf4j.Logger
对象。日常开发尽量使用Slf4j
门面来处理日志,尽量避免使用具体的日志框架。
package cn.felord.spring.security;import lombok.extern.slf4j.Slf4j;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;import java.time.LocalDate;import java.util.Properties;/** * @author dax * @since 2019/10/9 0:03 */@Slf4j@RestController@RequestMapping("/logging")public class LogController { @GetMapping("/do") public String log() { log.info("log4j2 test date: {} info: {}", LocalDate.now(), "请关注公众号:Felordcn"); return "log4j2"; } }
控制台输出 :[00:14:48:161] [INFO] - cn.felord.spring.security.LogController.log(LogController.java:23) - log4j2 test date: 2019-10-09 info: 请关注公众号:Felordcn
并存档。
上述内容就是Spring Boot 2中如何使用log4j2日志框架,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。