Logback日志这样配置,让你性能提升10倍(1)

Logback vs Log4j2:性能差达1倍!你选对日志框架了吗? 文章摘要(149字): 本文深度对比Log4j2与Logback日志框架的性能差异,通过真实测试数据揭示Log4j2异步日志的显著优势(吞吐量达Logback2.3倍)。核心分析包括:1)Log4j2采用Disruptor环形队列实现高效异步写入;2)高并发场景下Log4j2的GC优化与稳定性表现;3)多格式配置支持对DevOps的价值。针对不同场景提供选型建议,并分享配置陷阱与进阶优化技巧(如无GC模式)。最后展望结构化日志与AI分析趋势,助力开发者提升系统日志处理效率。 阅读详情

部分标签说明

标签,必填标签,用来指定最基础的日志输出级别

  • 标签,添加append

标签,通过使用该标签指定日志的收集策略

  • name属性指定appender命名

  • class属性指定输出策略,通常有两种,控制台输出和文件输出,文件输出就是将日志进行一个持久化。ConsoleAppender将日志输出到控制台

标签,通过使用该标签指定过滤策略

  • 标签指定过滤的类型

标签,使用该标签下的 标签指定日志输出格式。

标签指定收集策略,比如基于时间进行收集

  • 标签指定生成日志保存地址 通过这样配置已经实现了分类分天手机日志的目标了

图片

2、logback 高级特性异步输出日志


之前的日志配置方式是基于同步的,每次日志输出到文件都会进行一次磁盘IO。采用异步写日志的方式而不让此次写日志发生磁盘IO,阻塞线程从而造成不必要的性能损耗。异步输出日志的方式很简单,添加一个基于异步写日志的 appender,并指向原先配置的 appender即可

0

256

0

256

3、异步输出日志性能测试


既然能提高性能的话,必须进行一次测试比对,同步和异步输出日志性能到底能提升多少倍?

服务器硬件

  • CPU 六核

  • 内存 8G

测试工具

  • Apache Jmeter

同步输出日志

  • 线程数:100

  • Ramp-Up Loop(可以理解为启动线程所用时间) :0 可以理解为100个线程同时启用

  • 测试结果

图片

重点关注指标 Throughput【TPS】 吞吐量:系统在单位时间内处理请求的数量,在同步输出日志中 TPS 为 44.2/sec

异步输出日志

  • 线程数 100

  • Ramp-Up Loop:0

  • 测试结果

图片

TPS 为 497.5/sec , 性能提升了10多倍!!!

4、异步日志输出原理


从 logback框架下的 Logger.info方法开始追踪。一路的方法调用路径如下图所示:

图片

异步输出日志中最关键的就是配置文件中 ch.qos.logback.classic``AsyncAppenderBase``append

protected void append(E eventObject) {

if(!this.isQueueBelowDiscardingThreshold() || !this.isDiscardab 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 le(eventObject)) {

this.preprocess(eventObject);

this.put(eventObject);

深入理解Logback异步日志配置及性能优化 通过本文的介绍,相信大家对Logback异步日志配置及性能优化有了更深入的理解。在实际项目中,合理配置日志记录方式和优化性能对于提升系统的稳定性和性能至关重要。希望本文能够对大家有所帮助,也欢迎大家关注我的技术分享和交流群,一起探讨更多有趣的技术话题! 阅读详情

相关推荐

ADS2023实战:2.4GHz超外差接收机从设计到链路预算全流程解析

本文以ADS 2023软件为平台,详细解析了2.4GHz超外差接收机从核心指标定义、架构原理到完整链路搭建与仿真的全流程。通过实战演练,重点阐述了如何利用ADS进行谐波平衡仿真和链路预算分析,以量化评估系统增益、噪声系数等关键性能,为射频工程师提供了一套从理论到仿真的系统级设计方法。

herb5的博客 817

Logback日志配置和简单使用

logback加载顺序 我们简单分析一下logback加载过程,当我们使用logback-classic.jar时,应用启动,那么logback会按照如下顺序进行扫描: 在classpath下寻找是否有logback.groovy(即logback支持groovy与xml两种配置方式) 在classpath下寻找是否有logback-test.xml 在classpath下寻找是否有logback.xml 以上任何一项找到了,就不进行后续扫描 当所有以上四项都找不到的情况下,logback会构造一个Cons

weixin_42728895的博客 1296

LVGL移植教程(正点原子)

学习正点原子LVGL移植教程,根据视频教程写的博客

papalila的博客 939

Logback配置文件这么写,TPS提高10倍

通过阅读本篇文章将了解到 1.日志输出到文件并根据LEVEL级别将日志分类保存到不同文件 2.通过异步输出日志减少磁盘IO提高性能 3.异步输出日志的原理 配置文件logback-spring.xml SpringBoot工程自带logback和slf4j的依赖,所以重点放在编写配置文件上,需要引入什么依赖,日志依赖冲突统统都不需要我们管了。logback框架会默认...

oschina_40914891的博客 760

新手也能玩转!用Panosim+MATLAB/Simulink搭建你的第一个智能驾驶仿真场景(保姆级图文)

本文为新手提供了使用Panosim和MATLAB/Simulink搭建智能驾驶仿真场景的详细教程。从环境准备、基础场景创建到仿真模型构建,一步步指导用户完成第一个智能驾驶仿真项目,帮助零基础用户快速上手并体验智能驾驶仿真的乐趣。

weixin_29090089的博客 182

浮点数运算的陷阱与启示:FP16加法器/乘法器开发中的常见误区

本文深入探讨FP16加法器和乘法器开发中的常见误区,包括FP16格式解析、阶码对齐陷阱、尾数运算风险及规格化处理。通过Verilog实战代码展示防御性编程技巧,帮助开发者避免边界条件处理和异常状态管理中的错误,提升硬件设计的可靠性和效率。

dell8的博客 249

logback异步日志打印阻塞工作线程

实际上这个问题是使用问题,非常简单,不过越是简单的使用,却可能出现致命问题,一般公司都会统一脚手架或者统一规范的方式来实现标准的日志配置文件,防止错误配置导致业务问题,不知道未来Java虚拟线程大规模使用会不会缓解日志打印阻塞工作线程的问题,毕竟调度更优,不过如果线程池满载,虚拟线程也是无能为力。还是需要在丢日志和存储消费日志的能力作取舍。

fenglllle的博客 4147

大疆sdkV4以及V5webrtc推流

webrtcSDK中要用它的VideoCapturer来初始化推流 ViewdoCapturer是一个接口我们继承它 然后重建创建文件CapturerAircraft.java文件。CameraUtil.java这个是我们用来创建CapturerAircraft的一个工具。除了CapturerAircraft这个文件不一样外其他都是一样的。PlayBodyBean.java这个是我们的配置文件。下面的有个代码块第一个是v4的 第二个是v5的。接着我们来创建几个推流用到的webrtc工具。

weixin_41624865的博客 1188

logback日志配置详解

这里对 logback 的日志配置文件做了一下总结。logback 整体的运行机制是非常复杂而庞大的,这里只对 配置文件的一些节点,做简单的介绍,希望能对大家 ,有所帮助!

jcc4261的博客 3243

汽车UDS诊断详解及Vector相关工具链使用说明——1.1 应用层协议整体介绍

本文我们先从整体的维度来介绍一下应用层协议,每个UDS服务都遵循本文中的协议。 一、SI(Service ID) SI是UDS指令的第一个字节,我们第一篇文章中提到的10等服务就是指这个服务的SI=0x10,它是服务的标识,每个服务的SI都是唯一的。 ...

weixin_42967006的博客 5474

rk3506上移植lvgl应用

本文介绍在RK3506开发板上移植和运行LVGL图形库的方法。

m0_60805802的博客 1158

logback配置

根节点ConfigurationConfiguration包含属性 scan: 是否扫描配置文件的变化并重新加载,默认为true scanPeriod:扫描配置文件变化的时间间隔,只有当scan为true时生效。默认时间单位为毫秒,默认扫描间隔为1分钟。 debug:是否打印logback内部的日志信息,可以实时打印logback运行状态。默认值为false Configuration包含四个常用的

小楼一夜听春雨 1159

中兴交换机如何配置?有哪些常用的配置命令,本文值得收藏!

中兴交换机是一种常见的网络设备,用于构建和管理企业网络。它提供了丰富的功能和灵活的配置选项,使网络管理员能够根据特定需求进行定制化配置。本文将详细介绍中兴交换机的配置过程,包括登录、基本设置、VLAN配置、接口配置和安全配置等内容。

网络技术联盟站 1万+

Log4j2使用总结

Log4j 2 包含了基于LMAX 分离库的下一代的异步日志系统,在多线程环境下,异步日志系统比 Log4j 1.x 和Logback 提高了10倍性能提升(吞吐量和延迟率 )。原文如下: Log4j 2 contains next-generation Asynchronous Loggers based on the LMAX Disruptor library. In multi-

北慕的博客 2347

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Logback日志这样配置,让你性能提升10倍

name属性指定appender命名 class属性指定输出策略,通常有两种,控制台输出和文件输出,文 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 件输出就是将日志进行一个持久化。ConsoleAppender将日志输出到控制台 标签,通过使用该标签指定过滤策略 标签指定过滤的类型 标签,使用该标签下的 标签指定日志输出格式。 标签指定收集策略,比如基于时间进行收集 标签指定生成日志保存地址 通过这样配置已经实..

java100001的博客 1002

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

2024年Java最全Logback日志这样配置,让你性能提升10倍,阿里架构师经验分享

Java架构进阶面试及知识点文档笔记这份文档共498页,其中包括Java集合,并发编程,JVM,Dubbo,Redis,Spring全家桶,MySQL,Kafka等面试解析及知识点整理Java分布式高级面试问题解析文档其中都是包括分布式的面试问题解析,内容有分布式消息队列,Redis缓存,分库分表,微服务架构,分布式高可用,读写分离等等!互联网Java程序员面试必备问题解析及文档学习笔记Java架构进阶视频解析合集本文已被。

2401_84584796的博客 950

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Logback这样配置,性能提升10倍!

往期热门文章:1、是怎么样的SQL优化能做到 900W+数据,从17s到300ms? 2、再见 BeanUtils!对比 12 种 Bean 自动映射工具,就它性能最拉跨! 3、暴力拒绝白...

Java后端技术 679

Logback 日志框架

Logback 作为 Spring Boot 的默认日志框架,提供了高性能、灵活的日志解决方案。(Log4j 作者)设计的高性能日志框架,专为 Java 应用提供高效、灵活的日志解决方案。Spring Boot 默认通过。结构化日志以 JSON 格式记录日志,便于后续分析。依赖集成 Logback,支持开箱即用的日志功能。

小李同学的博客 2683

logback 日志 介绍和配置详解

logback介绍和配置详解 logback是Java的开源框架,性能比log4j要好。是springboot自带的日志框架。该框架主要有3个模块: logback-core:核心代码块(不介绍) log back-classic:实现了slf4j的api,加入该依赖可以实现log4j的api。 log back-access:访问模块与servlet容器集成提供通过http来访问日志的功能(也就是说不需要访问服务器,直接在网页上就可以访问日志文件)。 一、logback的使用 引入maven依

qq_30436011的博客 9745

日志 Logback 配置文件这么写,TPS 提高 10 倍

点击上方“芋道源码”,选择“设为星标”做积极的人,而不是积极废人!源码精品专栏中文详细注释的开源项目RPC 框架 Dubbo 源码解析网络应用框架 Netty 源码解析...

芋道源码 484

Spring Boot整合Logback日志框架及高并发下的性能优化

Logback是由Log4j的创始人Ceki Gülcü设计的日志框架,旨在作为Log4j的替代品。:提供了Logback的核心功能。:实现了SLF4J API,可以与Logback-core结合使用。:与Servlet容器集成,提供HTTP访问日志功能。高性能:Logback在性能上优于Log4j,尤其是在高负载情况下。灵活的配置:支持XML和Groovy格式的配置文件。自动重新加载配置:可以在运行时动态修改日志配置,无需重启应用。丰富的过滤功能:支持多种日志过滤机制。

私聊前往站内信:https://i.youkuaiyun.com/#/msg/chat/weixin_44976692 3005

别再纠结了!Spring Boot日志终极对决:Logback与Log4j2,选错性能降10倍!

你的项目还在用Spring Boot默认的Logback吗?听说Log4j2性能炸裂,到底要不要换?别再凭感觉选了!本文从底层集成、异步性能到配置实践全方位硬核对比,给你一份在任何场景下都清晰的终极选型指南。

一个还没被代码“优化”掉太多头发的程序员。在这里分享技术干货、踩坑实录和“防秃”心得。 代码搬运工,BUG 制造商,偶尔也产出一些有用的文字。 白天与需求搏斗,晚上与BUG和解。这是我的“数字战壕”日记。 1041
上一篇: LockSupport详解
下一篇: Logback日志这样配置,让你性能提升10倍
java100001
博客等级 码龄5年 4粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值