SpringBoot配置log4j2的实现示例

 更新时间:2023年12月18日 15:27:39   作者:无法无天过路客  
SpringBoot中默认使用Logback作为日志框架,本文主要介绍了SpringBoot配置log4j2的实现示例,具有一定的参考价值,感兴趣的可以了解一下

Log4j2 介绍

Spring Boot 中默认使用 Logback 作为日志框架,接下来我们将学习如何在 Spring Boot 中集成与配置 Log4j2。在配置之前,我们需要知道的是 Log4j2 是 Log4j 的升级版,它在 Log4j 的基础上做了诸多改进:

  • 异步日志;
  • 支持 Java8 lambda 风格的懒加载日志;
  • 过滤器;
  • 插件;
  • 并发性改进;
  • 支持: SLF4J, Commons Logging, Log4j-1.x 以及 java.util.logging;
  • 配置热加载;
  • 自定义日志级别;

看到上面这些新特性,我们肯定特别想在我们的 Spring Boot 应用中使用 Log4j2

添加 Maven 依赖

Spring Boot 默认使用的是 logback, 想要使用 Log4j2, 我们需要首先排除掉默认的日志框架,然后添加 log4j2 依赖,下面是 pom.xml 文件:

<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>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j2</artifactId> 
</dependency>

添加 Log4j2 配置文件

Spring Boot 支持以下 4 种格式的配置文件:

  • xml(默认的)
  • json
  • yaml
  • properties 文件

Spring Boot 如果在 classpath:目录下找到了 log4j2.xml 或者 log4j2.json 或者 log4j2.properties或者log4j2.yaml的其中任意一个配置文件,就会自动加载并使用它。
接下来,我们来看看 log4j2.xml 格式,要如何配置?

在 /src/main/resource 目录下创建 log4j2.xml 配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN" monitorInterval="30">
    <Properties>
        <Property name="PID">????</Property>
        <Property name="LOG_PATTERN">%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{faint} %clr{%5p} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%15.15t]}{faint} %clr{%-40.40c{1.}}{cyan} %clr{:}{faint} %m%n%xwEx</Property>
    </Properties>
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT" follow="true">
            <PatternLayout pattern="${LOG_PATTERN}"/>
        </Console>
    </Appenders>
    <Loggers>
        <Root level="info">
            <AppenderRef ref="Console"/>
        </Root>
    </Loggers>
</Configuration>

到此这篇关于SpringBoot配置log4j2的实现示例的文章就介绍到这了,更多相关SpringBoot配置log4j2内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • java连接mongoDB并进行增删改查操作实例详解

    java连接mongoDB并进行增删改查操作实例详解

    这篇文章主要介绍了java连接mongoDB并进行增删改查操作,结合实例形式详细分析了java环境下MongoDB扩展包的下载、安装及操作MongoDB连接、增删改查等相关操作技巧,需要的朋友可以参考下
    2019-04-04
  • mybatis xml如何使用not in 某个集合的格式

    mybatis xml如何使用not in 某个集合的格式

    这篇文章主要介绍了mybatis xml如何使用not in 某个集合的格式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • SpringBoot接口实现百万并发的代码示例

    SpringBoot接口实现百万并发的代码示例

    随着互联网的发展,越来越多的应用需要支持高并发,在这种情况下,如何实现高并发成为了一个重要的问题,Spring Boot是一个非常流行的Java框架,它提供了很多方便的功能来支持高并发,本文将介绍如何使用Spring Boot来实现百万并发
    2023-10-10
  • SpringBoot+Redis实现后端接口防重复提交校验的示例

    SpringBoot+Redis实现后端接口防重复提交校验的示例

    本文将结合实例代码,介绍SpringBoot+Redis实现后端接口防重复提交校验的示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • Java 中通过 key 获取锁的方法

    Java 中通过 key 获取锁的方法

    这篇文章主要介绍了Java 中通过 key 获取锁,本文演示如何对某个 key 加锁,以保证对该 key 的并发操作限制,可以实现同一个 key 一个或者多个线程同时执行,需要的朋友可以参考下
    2022-11-11
  • java多线程编程制作电子时钟

    java多线程编程制作电子时钟

    本文给大家汇总了几个使用java多线程编程实现的电子时钟的代码,思路非常的巧妙,也都很实用,有需要的小伙伴可以参考下。
    2015-11-11
  • Springboot Activemq整合过程代码图解

    Springboot Activemq整合过程代码图解

    这篇文章主要介绍了Springboot Activemq整合过程代码图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • Java中检查值是否存在于数组中的4种详细方法

    Java中检查值是否存在于数组中的4种详细方法

    这篇文章主要给大家介绍了关于Java中检查值是否存在于数组中的4种详细方法,相信大家在操作Java的时候经常会要检查一个数组(无序)是否包含一个特定的值,需要的朋友可以参考下
    2023-08-08
  • Jmeter正则表达式提取器实现过程图解

    Jmeter正则表达式提取器实现过程图解

    这篇文章主要介绍了Jmeter正则表达式提取器实现过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • SpringBoot 使用Mongo的GridFs实现分布式文件存储操作

    SpringBoot 使用Mongo的GridFs实现分布式文件存储操作

    这篇文章主要介绍了Spring Boot 使用Mongo的GridFs实现分布式文件存储操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10

最新评论