Log4j-1.2.8配置项梳理

7月份帮国内一个项目现场诊断java coredump的问题,发现内存中大量的log4j日志信息,为解决问题就按照代码调用的处理流程梳理了一遍log4j-1.2.8的代码,今天把未完成的部分继续梳理了下,形成下图。

[img]http://dl2.iteye.com/upload/attachment/0122/2246/83ac0411-300d-3aef-b346-78733aca310e.png[/img]

一并整理出了log4j的配置项目(v1.2.8)


#log4j-1.2.8配置文件样例
#log4j.configDebug已经被log4j.debug所取代.表示是否启用针对log4j本身的调试日志(LogLog工具类),默认false
log4j.debug=true/false

#设置日志阈值 在进行日志输出时(如log.info(Object))时,会用INFO与threshold做比较,不低于threshold的才会被处理,默认是最低的ALL
#FATAL = 50000/ERROR = 40000/WARN = 30000/INFO = 20000/DEBUG = 10000
log4j.threshold=DEBUG/INFO/ERROR/...

#设置loggerFactory的类,默认org.apache.log4j.DefaultCategoryFactory
log4j.loggerFactory=factoryClassName

#注入到LoggerFactory对象的属性
log4j.factory.xxx=yyy

#log4j.rootCategory与之相同效果.设置root的level和需要输出到的appender
log4j.rootLogger=DEBUG/INFO/ERROR,appenderName,appenderName

#log4j.logger.与之效果相同.设置loggerName的level和需要输出到的appender
log4j.category.loggerName=DEBUG/INFO/ERROR,appenderName,appenderName

#当Hierarchy是org.apache.log4j.RendererSupport实现类时,该设置才有效。默认的org.apache.log4j.Hierarchy已经实现了org.apache.log4j.RendererSupport
#renderedClass:info(Object)方法中Object参数的对象类型,renderingClass:用于对info(Object)对象进行渲染的具体处理类
log4j.renderer.renderedClass=renderingClass

#默认true,设置logger的additivity,如果additive=false,表示callAppenders时到此为止,不再往上遍历parent
log4j.additivity.loggerName=true/false

#Appender的配置
#设置appenderName对应的Appender实现类
log4j.appender.appenderName=org.apache.log4j.DailyRollingFileAppender

#设置注入到Appender中的属性(当appender是org.apache.log4j.spi.OptionHandler子类时),如file=xxx, maxfilesize=xxx.具体属性清单看DailyRollingFileAppender等类
log4j.appender.appenderName.xxx=yyy

#设置appender对应个日志格式布局类
log4j.appender.appenderName.layout=org.apache.log4j.PatternLayout #Appender日志格式布局

#设置注入到layout中的属性,如ConversionPattern=[%d] [%t] (%F:%L) %-5p %c - %m%n.具体属性清单看org.apache.log4j.PatternLayout等类
log4j.appender.appenderName.layout.xxx=yyy

说回这个项目,当初诊断后怀疑是BES上的某个配置使得System.io被替换为BES所提供的io,形成了环路,导致日志信息在内存中重复追加到StringBuffer中,最后导致coredump。
最后项目现场说替换了配置文件就解决了,问替换了什么配置,打死也不说。。。太没有配合精神了,至今不知如何解决的。
若依框架安全自查清单:从组件漏洞到二次开发风险全面加固 在Java企业级应用开发中,框架安全是保障系统稳定运行的基石。其核心原理在于,任何集成了第三方组件的框架都可能因依赖链引入已知漏洞,例如Apache Shiro的反序列化漏洞和Fastjson的AutoType绕过漏洞,这些漏洞一旦被利用,可导致远程代码执行等严重后果。从技术价值看,系统化安全自查不仅能防范外部攻击,更是构建纵深防御体系、满足合规要求的必要实践。在应用场景上,基于若依这类快速开发框架构建的后台管理系统,尤其需要关注框架与组件层、业务逻辑层、配置部署层及二次开发层的风险。本文聚焦若依框架,提供 阅读详情

相关推荐

Spring Boot集成Druid连接池配置达梦8数据库实战指南

数据库连接池是Java应用性能优化的关键技术,它通过管理数据库连接的创建、复用和销毁,有效减少连接开销并提升系统并发能力。其核心原理是预先建立连接并缓存于池中,应用按需获取和归还,从而避免频繁的TCP握手和认证过程。在国产化技术栈迁移场景中,将成熟的连接池方案与国产数据库适配,对保障系统稳定性和可维护性具有重要价值。本文以Druid连接池与达梦8数据库的集成为例,深入解析驱动引入、连接池参数调优、监控集成等工程实践细节,并针对连接泄漏排查、慢SQL定位等常见问题提供解决方案,为Spring Boot应用在国

weixin_33721344的博客 467

log4j 详细配置

log4j配置祥解 第一步:加入log4j-1.2.8.jar到lib下。 第二步:在CLASSPATH下建立log4j.properties。内容如下: 1 log4j.rootCategory=INFO, stdout , R 2 3 log4j.appender.stdout=org.apache.log4j.ConsoleAppender 4 log4j

11点睡觉... 546

Log4Shell漏洞复现:从JNDI注入到RCE的完整攻击链实战

JNDI(Java命名和目录接口)是Java平台提供的一种统一API,用于访问如LDAP、RMI等多种命名和目录服务。其核心原理是通过名称查找和绑定对象,实现资源的动态发现与加载。这项技术的设计初衷是提升应用配置和资源管理的灵活性,但在特定场景下,若未对用户输入进行严格校验,JNDI的远程资源加载能力可能被恶意利用,从而引发严重的安全风险,例如远程代码执行(RCE)。在Java应用日志记录这一普遍场景中,如果日志框架对未经处理的用户输入执行了JNDI查找,攻击者便能构造恶意字符串,诱导应用从受控的LDAP服

weixin_30856725的博客 376

Log4j Java 配置 1.2.8

java log4j 配置

robinson的专栏 2093

log4j各个版本

Log4j的jar 有1.2.6 1.2.8 1.2.12 1.2.15

log4j-1.2.8.jar

log4j.jar web常用jar包,log4j

maven的核心概念

1 Maven核心概念 1.1 坐标 1.1.1 什么是坐标? 在平面几何中坐标(x,y)可以标识平面中唯一的一点。在maven中坐标就是为了定位一个唯一确定的jar包。 Maven世界拥有大量构建,我们需要找一个用来唯一标识一个构建的统一规范 拥有了统一规范,就可以把查找工作交给机器1.1.2 Maven坐标主要组成 groupId:定义当前Maven组织名称 artif

zho的博客 304

log4j简介(jakarta-log4j-1.2.8)

根据log4j(jakarta-log4j-1.2.8)的开发包自带文档的manual翻译

apache log4j漏洞复现

文章目录1. Apache Log4j Server 反序列化命令执行漏洞(CVE-2017-5645)利用条件利用2. CVE-2019-17571利用条件利用3. apache log4j rce利用条件环境搭建利用 1. Apache Log4j Server 反序列化命令执行漏洞(CVE-2017-5645) Apache Log4j是一个用于Java的日志记录库,其支持启动远程日志服务器。Apache Log4j 2.8.2之前的2.x版本中存在安全漏洞。攻击者可利用该漏洞执行任意代码。 利用条件

Shanfenglan's blog 6万+

log4j支持jar包

log4j支持jar包,jar包中的PropertyConfigurator.configure可以读取log4j的配置文件

log4j-1.2.8.jar包,在项目中直接导入即可。

自己正在用的,log4j-1.2.8.jar包,在项目中直接导入即可。

Apache Druid S3 扩展完全指南:S3 数据摄取、S3 深度存储与认证配置详解

Apache Druid 的 `druid-s3-extensions` 扩展将 Amazon S3 及所有兼容 S3 API 的对象存储(如 Google Cloud Storage、MinIO)深度集成到 Druid 中,承担两大核心职责:**从 S3 中读取数据完成批量摄取**,以及**将 segment 写入 S3 作为深度存储(deep storage)**。阅读本文后,你将掌握该扩展的

gitblog_00460的博客 443

log4j-1.2.8.jar包

log4j-1.2.8.jar包,希望对您有所帮助,谢谢您的支持!

linux-solr7.20-tomcat8.052安装

系统环境solr-7.2.0.tgzapache-tomcat-8.0.52.tar.gzjdk-1.8.0_171_linux-x64_bin.tar.gzCentOS-7-x86_64-DVD-1708配置步骤1、解压 tar.gz 源码包,得到 solr-7.2.0/ 文件夹;2、创建目录 /usr/local/solr/,将 solr-7.2.0/server/ 下的文件夹 solr/ 复...

ShaoFuQiJie的博客 509

pwm电机调速的原理介绍与代码实现

1、pwm实现调速的原理与介绍 PWM(Pulse Width Modulation)脉冲宽度调制。 1)占空比 pwm占空比就是一个脉冲周期内有效电平在整个周期所占的比例。 通过调节PWM的占空比就能调节IO口上电压的持续性变化,因此也能够控制外设的功率进行持续性变化,也就能控制直流电机的转速快慢。 那么重点就在于如何调节PWM波形的输出。如下图所示 图中的ARR是我们给定时器的一个预装载值,CCRx的上下变化是产生PWM波的关键。我们假设ARR大于CCRx的部分输出为高电平(即t1-t2、t3-t4

Clichong 7万+

从原理到实践:MIPI D-PHY v1.2的HS-Deskew功能全解析(附时序图详解)

本文深入解析MIPI D-PHY v1.2的HS-Deskew功能,从技术背景到实现机制,详细介绍了其在2.5Gbps高速传输中的关键作用。通过时序图详解和实测数据,帮助工程师理解并应用这一技术,解决信号完整性问题,提升系统可靠性。

weixin_30300225的博客 308

对Maven下搭建SSM框架的简单理解(下)

       上次简单梳理了下Maven和SSM框架中的web.xml的要点,今天来看看其他的东西。        1、首先我们看看db.properties,里面的代码一般如下: jdbc.driver=com.mysql.jdbc.Driver jdbc....

qq_43540129的博客 172

Gemini 2.5 Pro国内免魔法直连教程:5分钟搞定专业级PPT图表(附折线图/柱状图案例)

本文详细介绍了如何利用Gemini 2.5 Pro快速生成专业级PPT图表,包括折线图和柱状图等常见商业图表。通过自然语言交互和智能图表生成功能,用户可以在5分钟内完成数据可视化,大幅提升工作效率。文章还提供了实战案例和高级技巧,帮助用户轻松应对各种商业场景需求。

weixin_30733003的博客 460

【springboot】万字操作指南 Spring Boot 2.x 升级到 3.x:微服务项目实战

摘要: 本文提供Spring Boot 2.x升级到3.x的实战指南,重点针对微服务项目。升级涉及JDK 17、Spring Framework 6、Jakarta EE等连锁变化,需系统规划版本矩阵(如Spring Boot 3.5.x + Spring Cloud 2025.0.x)。建议升级路线:先统一JDK 17环境,再处理依赖迁移(javax→jakarta)、Spring Security 6适配、OAuth2授权服务器改造等关键步骤。

Cjh20pan的博客 979

Qt实战:用QCustomPlot实现毫秒级时间轴数据动态刷新(附完整代码)

本文深入探讨了在Qt框架下,如何利用QCustomPlot库高效实现毫秒级时间轴数据的动态刷新与实时可视化。针对工业物联网等高频数据场景,文章提供了从原理剖析、核心代码实现到性能优化的完整实战指南,包括滑动窗口管理、双定时器策略及坐标轴精确配置,帮助开发者构建稳定、流畅的专业级监控界面。

qsc90123456的博客 759

2万多行MyBatis源码,你知道里面用了多少种设计模式吗?

在MyBatis的两万多行的框架源码中,使用了大量的设计模式对工程架构中的复杂场景进行解耦,这些设计模式的巧妙使用是整个框架的精华。经过整理,大概有以下设计模式,如图1所示。图101类型:创建型模式▊ 工厂模式SqlSessionFactory 的结构如图2所示。图2工厂模式:简单工厂是一种创建型模式,在父类中提供一个创建对象的方法,允许子类决定实例对象的类型。场景介绍:SqlSessionFac...

艾小仙的专栏 223

【深度学习新浪潮】什么是system 1和system 2?

System 1(快速生成)指大模型直接基于输入生成响应,无需显式中间推理步骤。例如,GPT-4等模型在默认状态下通过Transformer直接输出结果,擅长快速回答简单问题或生成连贯文本,但在复杂逻辑任务中可能出错。这类模型的内部计算以向量形式隐式进行,难以处理符号推理等需要离散决策的任务。System 2(慢速推理)指模型通过生成中间token(如思维链、分步推导)或多次调用LLM进行复杂推理。

专注:太空算力、AI infra、异构调度、大模型成本工程 929

Windows服务器等保测评实战:从账户管理到安全审计的完整指南

本文提供了一份详尽的Windows服务器等保测评实战指南,涵盖从账户权限管理、访问控制、安全审计到入侵防范和剩余信息保护的完整流程。文章以实战操作为核心,详细解析了如何配置强密码策略、精细化权限分离、启用全面审核策略以及进行系统加固,旨在帮助运维与安全人员构建合规且有效的安全防御体系,顺利通过等保测评。

ruby5的博客 446

cartographer运行错误集合

播放bag的时候错误 Check failed: sensor_to_tracking->translation().norm() < 1e-5 The IMU frame must be colocated with the tracking frame. Transforming linear acceleration into the tracking frame will otherwise be imprecise tracking frame不是imu的link 修改lua文件中的.

Studying…… 2028

MTK平台WiFi学习--Wi-Fi 连线/断线问题初步分析

摘要:本文详细介绍了MTK平台WiFi连接问题的日志分析方法。文章首先阐述了WiFi连接的标准流程,包括指令接收、BSSID选择、信道分配、认证关联、四次握手和DHCP获取等关键步骤。针对常见故障场景,如选网失败、信道申请失败、认证关联失败、四次握手失败等,提供了具体的日志分析方法和排查思路,包括识别关键日志、分析状态码、结合固件日志和抓包数据等。文章还特别强调了不同故障场景下需要收集的日志类型和分析要点,为WiFi连接问题的定位提供了一套系统化的解决方案。

专业开发者的博客,一个从事Android WiFi和蓝牙的工程师 1592
上一篇: plsql查询结果中文拷贝乱码
下一篇: logback初入
yangbb
博客等级 码龄22年 0粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值