千家信息网

Spring Boot 2中如何使用log4j2日志框架

发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,本篇文章为大家展示了Spring Boot 2中如何使用log4j2日志框架,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。排除Logback依赖Spring
千家信息网最后更新 2025年02月04日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日志框架,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

0