Logback 对比 Log4j2

article/2025/9/18 16:44:13

Logback 对比 Log4j2

测试分为本地测试端和服务器端,分别对gateway网关进行日志输出的压测

同步日志,不打印日志

logback(150并发,0间隔,循环50次)

log4j2(150并发,0间隔,循环50次)

同步日志,打印日志(大小4k,循环输出100次)

logback(150并发,0间隔,循环50次)

image-20190923105944045

log4j2(150并发,0间隔,循环50次)

异步打印日志(大小4k,循环输出100次,仅输出文件)

logback(150并发,0间隔,循环50次)

image-20190923112435315

log4j2(150并发,0间隔,循环50次)

测试环境

logback(50并发,0间隔,循环20次)

不打印日志

打印日志

log4j2(50并发,0间隔,循环20次)

不打印日志

打印日志

打印日志每条30k输出1000次(一次请求30M)

log4j2(50并发,0间隔,循环20次)

logback(50并发,0间隔,循环20次)

测试结果

对比响应时间

本地测试log4j2完爆logback(网关给的是2G堆内存)但是还是以测试环境为准:

  1. 在不输出日志和仅输出400k日志的情况下log4j2的99%,95%相比logback的耗时都有所减少;
  2. 同样开启异步日志的情况下输出30m日志的99%与95%差距在10倍以上.

对比jvm

对比30M日志输出时的JVM情况:

  1. logback进行了大量的YCG去清理临时的临时变量,而log4j2的变化相对稳定;
  2. logback的在异步处理的时候使用的是阻塞队列,日志输出量大导致写盘时间长队列堆积大使得处理日志时间过长;
  3. 对比线程变化logback线程相对变化大于log4j2.

总结

  1. 在线上环境关闭控制台输出会对性能有所提升;
  2. 相同情况下对比,log4j2性能更优;
  3. 在对日志输出场景比较多的情况下可以考虑将logback更换为log4j2;

附录

附录一 : logback vs log4j2

附录二 : Sync vs Async

附录三:log4j2特性


http://chatgpt.dhexx.cn/article/Jok8he5U.shtml

相关文章

Log4j(四)——Log4j1与Log4j2的区别

前言 几乎每个大型应用程序都包含自己的日志或跟踪API。为了符合这一规则,欧盟SEMPRER项目决定编写自己的跟踪API。这是在1996年初。经过无数次的增强、几个版本和大量的工作之后,API演变成了log4j,这是一个流行的Java日志包。这个包是在Apa…

log4j与log4j2性能对比及log4j升级至log4j2方案

1.前言 之前某个服务在压测环境中出现了问题,分析之后得知是log4jLogger对象争用厉害,很多线程阻塞在此。 以上问题证明log4j在高并发高QPS情况下,是存在性能问题的。 之后把log4j升级成了log4j2,并采取异步日志模式&#xff0c…

日志框架LOG4J2系列二——log4j2配置文件

日志框架LOG4J2系列二——log4j2配置文件 一、log4j2支持的配置文件格式二、log4j2.xml配置文件三、log4j2.xml配置项详解总结上一节:日志框架LOG4J2系列一——入门 在上一节留下了两个疑问: 1、为什么日志输出到控制台,如何输出到文件中? 2、日志的格式为什么是这样的? 要…

SpringBoot 项目中使用Log4j2详细(避坑)

以下部分内容转载整理自 log4j2 实际使用详解_vbirdbest的博客-CSDN博客_log4j2 ,感谢 vbirdbest 的相关知识分享 首先,认识一下三胞胎 log4j 是apache实现的一个开源日志组件logback 同样是由log4j的作者设计完成的,拥有更好的特性&#x…

Log4j2漏洞

2021/12/15漏洞更新如下 官方链接CVE:http://cve.scap.org.cn/vuln/VHN-408570 安全公告编号:CVE-2021-45046发现 Apache Log4j 2.15.0 中针对 CVE-2021-44228 的修复在某些非默认配置中不完整。当日志配置使用带有上下文查找(例如,$${ctx:l…

Log4j2-Log4j 2介绍及使用

Log4j 2 官网Log4j 2简介架构日志级别FilterAppender 将日志请求打印到多个目标Layout 自定义输出格式转到Log4j 2 API 控制台Appender的简单配置文件Appender的简单配置SocketAppenderAsyncAppender控制台和文件的AsyncAppender 配置Log4j 2使用Log4j 2 Log4j 2 官网 https:/…

log4j2 使用详解

转载自 Blog of 天外的星星: http://www.cnblogs.com/leo-lsw/p/log4j2tutorial.html Log4j 2的好处就不和大家说了,如果你搜了2,说明你对他已经有一定的了解,并且想用它,所以这里直接就上手了。 1. 去官方下载log4j …

一问三不知之log4j2漏洞简析

1.log4j2漏洞介绍 1.1简介 Apache Log4j 2是对Log4j的升级,它比其前身Log4j 1.x提供了重大改进,并提供了Logback中可用的许多改进,同时修复了Logback架构中的一些问题。是目前最优秀的Java日志框架之一。 2021年11月24日,阿里云…

Log4j2使用详解

日志框架简单比较(slf4j、j.u.l、log4j、logback、log4j2 ) slf4j:slf4j是对所有日志框架制定的一种规范、标准、接口,并不是一个框架的具体的实现,因为接口并不能独立使用,需要和具体的日志框架实现配合使…

log4j2配置参数详解

1.概述 JAVA常用的日志收集api和实现框架都有多种,不同的api和实现框架之间怎么相互兼容都比较复杂,不过大部分的日志框架实现也都提供了对其他日志收集方式的兼容和切换(可以参考slf4j、jcl、jul、log4j1、log4j2、logback大总结 - 乒乓狂魔…

Log4j2详解

1.背景 Log4j 2中记录日志的方式有同步日志和异步日志两种方式,其中异步日志又可分为使用AsyncAppender和使用AsyncLogger两种方式。 2.Log4j2中的同步日志 所谓同步日志,即当输出日志时,必须等待日志输出语句执行完毕后,才能执…

log4j2 的使用【超详细图文】

log4j2 的使用 Apache Log4j2 是对Log4j 的升级版本,参考了logback 的一些优秀的设计,并且修复了一些问题,因此带来了一些重大的提升,主要有: 异常处理,在logback中,Appender中的异常不会被应…

Log4j2 简介

介绍 Log4j2是Log4j的升级版,与之前的版本Log4j 1.x相比、有重大的改进,修正了Logback固有的架构问题的同事,改进了许多Logback所具有的功能。 特性 一、API 分离 Log4j2将API与实现分离开来。开发人员现在可以很清楚的知道能够使用哪些没有兼…

数据分析方法08用户画像

用户画像 1、 概念 用户画像是指用户信息标签化,通过收集用户多维度的信息数据(如人口统计属性,社会属性,行为偏好,消费习惯等),对其进行统计,分析,从而抽象出用户信息…

用户画像及其应用案例分享

一、用户画像基础概念 用户画像,即用户信息标签化,通过收集用户的社会属性、消费习惯、偏好特征等各个维度的数据,对用户特征属性进行刻画,并对这些特征进行分析、统计,挖掘潜在价值信息,从而抽象出用户的…

大数据分析--用户画像

从去年还在北京工作的时候就开始不断的听说,用户画像、用户画像,而且,有个项目,项目领导美其名曰:用户画像,这么长时间,也没有真正的思考过什么叫用户画像。前几天看到一篇关于这方面的文章&…

【数据分析】京东平台用户画像分析

1.用户信息标签 用户信息的收集包括用户基础要素、用户场景、行为偏好、心理个性、交际等多方面。 可以用静态标签、动态标签两大类来划分。 静态数据:用户相对稳定的信息,主要包括人口属性、商业属性等方面数据;这类信息果企业有真实信息则无需过多建…

用户画像解析

用户画像是大数据行业言必及之的时髦概念。现在我们运营谈及用户画像,它也是和精准营销、精细化运营直接钩挂的。这篇文章主要讲产品和运营角度的用户画像。 一、什么是用户画像 用户画像一点也不神秘,它是根据用户在互联网留下的种种数据,主…

用户画像分析总结

一、 什么是用户画像 用户画像是指根据用户的属性、用户偏好、生活习惯、用户行为等信息而抽象出来的标签化用户模型。通俗说就是给用户打标签,而标签是通过对用户信息分析而来的高度精炼的特征标识。通过打标签可以利用一些高度概括、容易理解的特征来描述用户&…

用户画像详解来了

导读:今天主要和大家分享明略对于用户画像的认识,包括如何理解用户画像,为什么需要用户用画像,以及明略在建设和应用用户画像过程中总结的方法论,让大家了解如何构建好的用户画像。 01 什么是用户画像 首先来看用户画像…