日志框架logback相对于log4j的优势

艾草有爱 艾草有爱     2022-10-15     348

关键词:

日志框架logback相对于log4j的优势。


更快的实现 
Logback的内核重写了,在一些关键执行路径上性能提升10倍以上。而且logback不仅性能提升了,初始化内存加载也更小了。 

非常充分的测试 
Logback经过了几年,数不清小时的测试。Logback的测试完全不同级别的。在作者的观点,这是简单重要的原因选择logback而不是log4j。 

Logback-classic非常自然实现了SLF4j 
Logback-classic实现了SLF4j。在使用SLF4j中,你都感觉不到logback-classic。而且因为logback-classic非常自然地实现了SLF4J,所以切换到log4j或者其他,非常容易,只需要提供成另一个jar包就OK,根本不需要去动那些通过SLF4JAPI实现的代码。 

非常充分的文档 
官方网站有两百多页的文档。 

自动重新加载配置文件 
当配置文件修改了,Logback-classic能自动重新加载配置文件。扫描过程快且安全,它并不需要另外创建一个扫描线程。这个技术充分保证了应用程序能跑得很欢在JEE环境里面。 

Lilith 
Lilith是log事件的观察者,和log4j的chainsaw类似。而lilith还能处理大数量的log数据 

谨慎的模式和非常友好的恢复 
在谨慎模式下,多个FileAppender实例跑在多个JVM下,能够安全地写道同一个日志文件。RollingFileAppender会有些限制。Logback的FileAppender和它的子类包括RollingFileAppender能够非常友好地从I/O异常中恢复。 

配置文件可以处理不同的情况 
开发人员经常需要判断不同的Logback配置文件在不同的环境下(开发,测试,生产)。而这些配置文件仅仅只有一些很小的不同,可以通过,和来实现,这样一个配置文件就可以适应多个环境。 

Filters(过滤器) 
有些时候,需要诊断一个问题,需要打出日志。在log4j,只有降低日志级别,不过这样会打出大量的日志,会影响应用性能。在Logback,你可以继续保持那个日志级别而除掉某种特殊情况,如alice这个用户登录,她的日志将打在DEBUG级别而其他用户可以继续打在WARN级别。要实现这个功能只需加4行XML配置。可以参考MDCFIlter 

SiftingAppender(一个非常多功能的Appender) 
它可以用来分割日志文件根据任何一个给定的运行参数。如,SiftingAppender能够区别日志事件跟进用户的Session,然后每个用户会有一个日志文件。 

自动压缩已经打出来的log 
RollingFileAppender在产生新文件的时候,会自动压缩已经打出来的日志文件。压缩是个异步过程,所以甚至对于大的日志文件,在压缩过程中应用不会受任何影响。 

堆栈树带有包版本 
Logback在打出堆栈树日志时,会带上包的数据。 

自动去除旧的日志文件 
通过设置TimeBasedRollingPolicy或者SizeAndTimeBasedFNATP的maxHistory属性,你可以控制已经产生日志文件的最大数量。如果设置maxHistory为12,那那些log文件超过12个月的都会被自动移除。 

总之,logback比log4j太优秀了,让我们的应用全部建立logback上吧 

 

英文好的可以看官方文档:http://logback.qos.ch/reasonsToSwitch.html

 

多应用中间的日志使用,log4j,log4j2,logback三个日志框架为例

多应用中间的日志使用,log4j,log4j2,logback三个日志框架为例​​分别使用三个日志框架建好测试​​​​log4j​​​​log4j2​​​​logback​​​​上面的三个同时引入一个应用中​​​​将日志统一使用slf4j标准​​​​不能修改p... 查看详情

日志框架--logback(代码片段)

logback背景介绍:SLF4J(SimpleLoggingFacadeforJava)是一个日志API接口,SLF4J提供TRACE,DEBUG,INFO,WARN,ERROR五种级别,而log4j和logback就是对SLF4J的具体实现。logback的性能优于log4j。logback-core:其它两个模块的基础模块logback-classic:它是log4j的一... 查看详情

scala日志打印

参考技术A基于scala-logging和logback的日志打印模板,其中logback是一个更高效/更优于log4j的日志打印框架,目前正逐渐替代log4j的位置,以下为实现日志打印的几个步骤:以maven为例:在resources目录下添加logback.xml文件,该文件就类... 查看详情

最全的springboot+logback日志配置教程

...志系统是必不可少的,目前比较流行的日志框架有log4j、logback等,可能大家还不知道,这两个框架的作者是同一个人,Logback旨在作为流行的log4j项目的后续版本,从而恢复log4j离开的位置。另外slf4j(SimpleLoggingFacadeforJava)则是一个... 查看详情

logback日志框架的简单使用(代码片段)

最近在自己搭建项目的时候,遇到logback选的问题,现在记录如下在框架中使用logback日志框架,关于logback和log4j日志框架的选择,这里就不多说了网上百度一大堆,总之一句话logback要比log4j效率高,性能好,配置灵活。1.首先在ma... 查看详情

日志框架-logback

...是同一个作者,性能过于优秀,但并不支持太多场景6)Logback-推荐7)JUL-官方的日志,但是实现太过于简陋  查看详情

springboot日志框架

Java有很多日志系统,例如,JavaUtilLogging,Log4J,Log4J2,Logback等。SpringBoot也提供了不同的选项,比如日志框架可以用logback或log4j等。 默认的日志框架logback例如,maven依赖中添加了spring-boot-starter-logging。<dependency><groupId>org.... 查看详情

logback日志小记(代码片段)

优势看了一下Logback的官方文档,说换成LogBack的原因大概有一下几个:    1.说是logBack的设计开发和log4j是同一批人员,重写了内核,习惯上总体跟log4j一样,不会有太多生疏感。在一些关键路径上性能快乐很多,初始化的内... 查看详情

java日志框架学习--logback和log4j2--下

Java日志框架学习--LogBack和Log4j2--下LogbackLogback中的组件Logback配置文件日志输出格式使用演示配置文件输出到控制台输出到控制台和文件输出到控制台,文件和html日志拆分过滤器异步日志自定义LoggerLog4jLog4j2简介Log4j2特征应用演示... 查看详情

springboot日志管理配置logback-spring.xml

...日志框架JCL使用;Log4j2:apach旗下的关于log4j的升级版;Logback:是基于slf4j接口实现的一套日志框架组件;(Logback是由log4j创始人设计的又一个开源日志组件。)JUL(javautillog):仿log4j实现的日志框架,是sun旗下的,(也就是在我们... 查看详情

springboot实践:logback日志配置

1、logback是什么?工作中一直用的是log4j日志框架,接触了SpringBoot后,因为logback是默认框架,才开始进行了解。来看下官网的相关介绍。 可以看到,logback是log4j的进化版,是为了替代log4j的。logback分三个模块:logback-core:核... 查看详情

log4j/log4j2/logback混用问题

...了解标题提到的几个日志框架,建议了解一下log4j/log4j2/logback简单使用说明,本节中pom依赖前面的内容;log4jdemolog4j2demologbackdemologdemojava项目一般会选择一种日志框架,但很难保证当前项目依赖的三方组件会选用和当前项目相同... 查看详情

如何在logback日志配置文件中配置相对路径

...log4j.appender.R.MaxBackupIndex=10本回答被提问者采纳 参考技术Blogback类似于log日志体系,可以将一些日志信息输出到tom 查看详情

springboot整合slf4j+logback日志框架

一、Slf4j简单介绍与优势1、介绍  Slf4j的全称是SimpleLogingFacadeForJava(Java简单日志门面),它仅仅是一个为Java程序提供日志输出的统一接口,并不是一个具体的日志实现方案,就比如JDBC一样,只是一种规则而已。所以单独的Slf4j... 查看详情

logback使用

logback简介   Slf4j是TheSimpleLoggingFacadeforJava的简称,是一个简单日志门面抽象框架,它本身只提供了日志FacadeAPI和一个简单的日志类实现,一般常配合Log4j,LogBack,java.util.logging使用。Slf4j作为应用层的Log接入时,程序可... 查看详情

java日志框架slf4j和log4j以及logback的联系和区别

1.SLF4J(SimpleloggingFacadeforJava)意思为简单日志门面,它是把不同的日志系统的实现进行了具体的抽象化,只提供了统一的日志使用接口,使用时只需要按照其提供的接口方法进行调用即可,由于它只是一个接口,并不是一个具体的... 查看详情

日志-logback

参考:http://www.importnew.com/22290.html一概述  1.1 LogBack、Slf4j和Log4j之间的关系    1)Slf4j(TheSimpleLoggingFacadefor Java)是一个简单日志门面抽象框架本身只提供了日志FacadeAPI和一个简单的日志类实现,一般常配合Log4j,L... 查看详情

springspringboot配置logback日志(代码片段)

...线上问题。常用的日志框架有好几种,但最常用的是logback、log4j等。本文主要讲解logback日志框架的配置,后面再介绍log4j日志框架的配置。 2 查看详情