首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Slf4j和Log4j2的Spring boot日志。删除spring-boot-starter-logging的原因

Slf4j(Simple Logging Facade for Java)是一个简单的Java日志门面,它为Java程序提供了统一的日志接口。Log4j2是Slf4j的一个实现,它是一个高性能、可靠且功能丰富的日志框架。

Spring Boot是一个用于创建独立的、基于Spring的应用程序的框架。Spring Boot默认使用spring-boot-starter-logging作为日志框架,它内置了Spring框架的Commons Logging,以及对Logback的支持。

但有时我们希望在Spring Boot应用程序中使用Slf4j和Log4j2,而不是默认的日志框架。删除spring-boot-starter-logging的原因主要有以下几点:

  1. 统一的日志接口:Slf4j提供了一个通用的日志接口,使得我们在代码中可以使用统一的方式来记录日志,而不需要针对不同的日志框架编写不同的代码。这样可以提高代码的可维护性和可读性。
  2. 更强大的日志功能:Log4j2相比于默认的日志框架具有更丰富的功能和更好的性能。它支持异步日志记录、线程上下文日志、配置灵活等特性,可以满足更多的日志记录需求。
  3. 更好的性能和稳定性:Log4j2在性能和稳定性方面表现优秀,它采用了异步日志记录机制,可以减少对应用程序性能的影响。同时,Log4j2经过了广泛的测试和验证,被认为是一个高性能和可靠的日志框架。
  4. 社区支持和文档丰富:Slf4j和Log4j2都拥有活跃的社区和广泛的用户群体,因此可以得到很好的支持和文档资源。如果遇到问题或需要扩展日志功能,可以很容易地找到解决方案或相关资料。

对于使用Slf4j和Log4j2的Spring Boot应用程序,可以通过以下步骤删除spring-boot-starter-logging:

  1. 在项目的Maven或Gradle配置文件中,移除spring-boot-starter-logging的依赖。
  2. 添加Slf4j和Log4j2的依赖,例如在Maven中的pom.xml文件中添加以下依赖:
代码语言:txt
复制
<dependencies>
    <!-- 添加Slf4j的依赖 -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
    </dependency>
    
    <!-- 添加Log4j2的依赖 -->
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-slf4j-impl</artifactId>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
    </dependency>
</dependencies>
  1. 创建log4j2.xml文件来配置Log4j2。该文件可以放置在项目的classpath下,例如src/main/resources目录下。以下是一个简单的log4j2.xml配置示例:
代码语言:txt
复制
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
        </Console>
    </Appenders>
    <Loggers>
        <Root level="debug">
            <AppenderRef ref="Console"/>
        </Root>
    </Loggers>
</Configuration>

在这个配置示例中,日志会输出到控制台,输出格式包含时间、线程信息、日志级别、Logger名称和日志内容。

通过以上步骤,我们成功将Spring Boot应用程序中的日志框架切换为Slf4j和Log4j2,可以根据具体的需求来配置和使用Slf4j和Log4j2的功能。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云云数据库MySQL版:https://cloud.tencent.com/product/cdb_mysql
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云区块链服务(Tencent Blockchain as a Service,TBaaS):https://cloud.tencent.com/product/tbaas
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

『互联网架构』软件架构-Spring boot集成日志框架(89)

Spring Boot 也提供了不同选项,比如日志框架可以用 logback 或 log4j ,log4j2等。 ?...日志系统 springboot自带log日志功能 使用slf4j(Simple Logging Facade For Java),它是一个针对于各类Java日志框架统一Facade抽象。...Logback是log4j框架作者开发新一代日志框架,它效率更高、能够适应诸多运行环境,同时天然支持SLF4J。这是默认支持logback原因日志实现默认使用logback。...值得注意是,默认情况下,Spring Boot 使用 logback 作为应用日志框架。...因为 spring-boot-starter 其中包含了 spring-boot-starter-logging,该依赖就是 使用Spring Boot 默认日志框架 logback。 ?

41420
  • Spring Boot(十)LogbackLog4j2集成与日志发展史

    一、简介 Java知名日志有很多,比如:JUL、Log4j、JCL、SLF4J、Logback、Log4j2,那么这些日志框架之间有着怎样关系?诞生原因又是解决什么问题?下面一起来看。...1.4 SLF4J SLF4J(Simple Logging Facade For Java)简单日志门面,JCL功能类似,但JCL有一个致命缺点就是算法复杂,出现问题难以排除,而SLF4J诞生就是为了解决...LogbackLog4j2Spring Boot实现。...因为spring-boot-starter-logging是Logback日志实现,而Spring Boot启动项spring-boot-starter又依赖了spring-boot-starter-logging...Boot官方建议使用“-spring命名规则,进行日志配置,如:logback-spring.xml而不是logback.xml。

    1.5K20

    Springboot 系列(四)Spring Boot 日志框架

    前言 Spring 框架选择使用了 JCL 作为默认日志输出。而 Spring Boot 默认选择了 SLF4J 结合 LogBack。那我们在项目中该使用哪种日志框架呢?...关于 Log4j, Log4j2 Slf4j 直接故事这里不做介绍,有兴趣可以自行百度。 2. SLF4 使用 在开发时候不应该直接使用日志实现类,应该使用日志抽象层。...,要为系统导入 SLF4J jar 日志框架实现 jar....从图中我们得到一种统一日志框架使用方式,可以使用一种要替换日志框架类完全一样 jar 进行替换,这样不至于原来第三方 jar 报错,而这个替换 jar 其实使用SLF4J API....Spring Boot 日志使用 5.1. 日志级别格式 从上面的分析,发现 Spring Boot 默认已经使用SLF4J + LogBack .

    46710

    Apache Log4j2详解

    小编在使用中遇到一些坑,同时引入spring-boot-starterspring-boot-starter-web依赖时,需要在spring-boot-starter...中排除spring-boot-starter-logging依赖,因为spring-boot-starter-web依赖于spring-boot-starter,根据Maven依赖关系,在spring-boot-starter...中排除spring-boot-starter-logging依赖才能排除成功。...,混合日志异步日志配置详解 Log4j2同步日志,混合日志异步日志配置详解 配置文件详解 Log4j2配置文件详解 日志重复打印问题 如果Root中日志包含了Logger中日志信息,并且AppenderRef...具体介绍可以看我博客Lombok简介、使用、工作原理、优缺点 使用Lombok后,@Slf4j注解生成了log日志常量,无需去声明一个log就可以在类中使用log记录日志

    1.2K30

    Spring Boot从零入门4_日志记录及其配置详解

    SLF4J 跟Apache Common Logging一样,也是一套接口,现在流行日志框架接口组合就是Commons Logging加Log4j 、SLF4J加Logback、slf4j + log4j2...Spring Boot默认配置对Java Util Logging,Log4j2Logback日志记录器使用都提供了支持。...Logging,Log4J2Logback),虽然我们不提供任何日志相关配置,但是我们仍然能够在控制台上看到日志打印,这是因为Spring boot使用了Logback提供了默认日志记录支持。...2.1.1 使用日志记录器打印日志 在应用程序代码中添加日志记录语句,我们使用SLF4J接口中org.slf4j.Loggerorg.slf4j.LoggerFactory。...Apache common loggingSLF4J有了个了解,Logback是Spring boot中默认配置日志记录器,我们对如何在application.properties中配置日志相关配置做了详细说明

    1.4K10

    SpringBoot入门建站全系列(七)日志组件使用

    slf4j是java一个日志门面,实现了日志框架一些通用api,log4jlogback是具体日志框架。也就是个日志中介,中间商赚差价。...如果用了“Starters”,默认日志组件就是Logback,这句话困惑了很久,后来跟踪日志实现,查看了依赖结构才发现,它说这个“Starters”指的是"spring-boot-starter-logging...",我们在引入spring-boot-starter-web时候,就已经引入了spring-boot-starter-logging,看图: [在这里插入图片描述] 三、快速配置日志方法(已经可用了)...》 打日志时候用slf4j,具体实现是logback, 切记,尽量在在代码里直接不要使用具体实现日志组件,不然万一哪天产品抽风了呢?...要使用log4j,首先要排除已经依赖spring-boot-starter-logging,然后手动引入spring-boot-starter-log4j2。

    79720

    一文带你搞懂日志框架如何切换?

    言归正传,上一篇文章写了Spring Boot默认日志框架Logback基本配置,有兴趣可以看看:Spring Boot第三弹,一文带你搞懂日志如何配置?。...今天就来介绍一下Spring Boot如何无感切换日志框架? Spring Boot 版本 本文基于Spring Boot版本是2.3.4.RELEASE。 什么是日志门面?...SLF4j日志门面,无论什么日志框架都是基于SLF4jAPI实现,因此无论是代码打印日志还是Lombok注解形式打印日志,都要使用SLF4jAPI,而不是日志框架API,这样才能解耦,做到无感知...不再是简单输出日志,而是将日志输出指令委托给slf4j。 下面就以log4j2为例,切换Spring Boot日志框架为Log4j2。...引入依赖 Spring Boot 默认是Logback日志框架,如果想要切换log4j2肯定是要将Logback依赖移除,只需要排除web模块中日志启动器即可,如下:

    21810

    第三章-Spring Boot 日志

    ; 给项目中导入具体日志实现就行了;我们之前日志框架都是实现抽象层; 市面上日志框架; JUL、JCL、Jboss-logging、logback、log4j、log4j2slf4j…....底层是Spring框架,Spring框架默认是用JCL;‘ ==SpringBoot选用 SLF4jlogback;== 2、SLF4j使用 1、如何在系统中使用SLF4j https://www.slf4j.org...以后开发时候,日志记录方法调用,不应该来直接调用日志实现类,而是调用日志抽象层里面的方法; 给系统里面导入slf4jjar logback实现jar import org.slf4j.Logger...> spring-boot-starter-logging 底层依赖关系 总结: 1)、SpringBoot底层也是使用...日志 # 可以指定完整路径; #logging.file=G:/springboot.log ​ # 在当前磁盘根路径下创建spring文件夹里面的log文件夹;使用 spring.log 作为默认文件

    48920

    springboot06、log4j2日志配置

    4、log4j使用 ---- 前言: 日志接口(slf4j) slf4j是对所有日志框架制定一种规范、标准、接口,并不是一个框架具体实现,因为接口并不能独立使用,需要和具体日志框架实现配合使用...接口用于定制规范,可以有多个实现,使用时是面向接口(导入包都是slf4j包而不是具体某个日志框架中包),即直接接口交互,不直接使用实现,所以可以任意更换实现而不用更改代码中日志相关代码。...Log4j2Log4j2是log4j 1.xlogback改进版,据说采用了一些新技术(无锁异步、等等),使得日志吞吐量、性能比log4j 1.x提高10倍,并解决了一些死锁bug,而且配置更加简单灵活...-- log4j2所需要配置 --> org.springframework.boot spring-boot-starter...spring-boot-starter-logging</artifactId </dependency

    34910

    springboot-日志系统

    :底层是Spring框架,Spring框架默认是用JCL;‘ **==SpringBoot选用 SLF4jlogback;==** # 2、SLF4j使用 # 1、如何在系统中使用SLF4j https...://www.slf4j.org 以后开发时候,日志记录方法调用,不应该来直接调用日志实现类,而是调用日志抽象层里面的方法; 给系统里面导入slf4jjar logback实现jar import...使用slf4j以后,配置文件还是做成日志实现框架自己本身配置文件; # 2、遗留问题 a(slf4j+logback): Spring(commons-logging)、Hibernate(jboss-logging...> org.springframework.boot spring-boot-starter-logging</artifactId...; #logging.file=G:/springboot.log # 在当前磁盘根路径下创建spring文件夹里面的log文件夹;使用 spring.log 作为默认文件 logging.path

    80720

    SpringBoot入门建站全系列(七)日志组件使用

    slf4j是java一个日志门面,实现了日志框架一些通用api,log4jlogback是具体日志框架。也就是个日志中介,中间商赚差价。...如果用了“Starters”,默认日志组件就是Logback,这句话困惑了很久,后来跟踪日志实现,查看了依赖结构才发现,它说这个“Starters”指的是"spring-boot-starter-logging...",我们在引入spring-boot-starter-web时候,就已经引入了spring-boot-starter-logging,看图: ?...要使用log4j,首先要排除已经依赖spring-boot-starter-logging,然后手动引入spring-boot-starter-log4j2。...> 5.1 log4j2快速配置 同样可以使用配置文件里直接配置方法使用,跟logback使用一样。

    44850

    Springboot 系列(四)Spring Boot 日志框架

    前言 Spring 框架选择使用了 JCL 作为默认日志输出。而 Spring Boot 默认选择了 SLF4J 结合 LogBack。那我们在项目中该使用哪种日志框架呢?...关于 Log4j, Log4j2 Slf4j 直接故事这里不做介绍,有兴趣可以自行百度。 2. SLF4 使用 在开发时候不应该直接使用日志实现类,应该使用日志抽象层。...,要为系统导入 SLF4J jar 日志框架实现 jar....从图中我们得到一种统一日志框架使用方式,可以使用一种要替换日志框架类完全一样 jar 进行替换,这样不至于原来第三方 jar 报错,而这个替换 jar 其实使用SLF4J API....Spring Boot 日志使用 5.1. 日志级别格式 从上面的分析,发现 Spring Boot 默认已经使用了 SLF4J + LogBack .

    3.4K00

    Spring Boot 2.x中如何使用Log4j2记录日志

    上一篇我们介绍了Spring Boot 2.x中默认日志框架Logback使用。今天继续说说日志,接下来我们要讲是前段时间爆出核弹漏洞Log4j2。...虽然出了漏洞,让很多小伙伴痛苦了1-2周(加班),但不可否认Log4j2依然是目前性能最好日志框架。所以,当Logback性能上无法支撑时候,替换使用Log4j2还是最为快速便捷方法。...下面,我们就来学习一下如何在Spring Boot 2.x版本中,替换Logback,使用Log4j2记录日志。...第一步:在pom.xml中引入Log4j2Starter依赖spring-boot-starter-log4j2,同时排除默认引入spring-boot-starter-logging,比如下面这样...常见问题 可能有小伙伴会问,之前不是推荐大家用Slf4j来记录日志,隔离了具体实现日志框架么?那我怎么知道这一顿操作之后,真的已经用上Log4j2了呢?

    1.9K40
    领券