7月份帮国内一个项目现场诊断java coredump的问题,发现内存中大量的log4j日志信息,为解决问题就按照代码调用的处理流程梳理了一遍log4j-1.2.8的代码,今天把未完成的部分继续梳理了下,形成下图。
一并整理出了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。
最后项目现场说替换了配置文件就解决了,问替换了什么配置,打死也不说。。。太没有配合精神了,至今不知如何解决的。
- 大小: 615.8 KB
分享到:
相关推荐
自己正在用的,log4j-1.2.8.jar包,在项目中直接导入即可。
log4j-1.2.8.jar包,希望对您有所帮助,谢谢您的支持!
Java数据库连接驱动下载 log4j-1.2.8.jar 驱动下载
log4j.jar web常用jar包,log4j
根据log4j(jakarta-log4j-1.2.8)的开发包自带文档的manual翻译
记录错误日志,log4j-1.2.8.rar简单快捷。
log4j-1.2.8.jar, log4j-1.2.9.jar, log4j-1.2.91.jar, log4j-1.2.jar, log4j-1.2rc1.jar, log4j-1.3alpha-7.jar, log4j-api-2.0.2-javadoc.jar, log4j-api-2.0.2-sources.jar, log4j-api-2.0.2.jar, log4j-boot.jar...
apache axis-1_4:axis.jar ,axis-ant.jar,commons-discovery-0.2.jar,commons-logging-1.0.4.jar,jaxrpc.jar,log4j-1.2.8.jar,saaj.jar,wsdl4j-1.5.1.jar
赠送jar包:druid-spring-boot-starter-1.2.8.jar; 赠送原API文档:druid-spring-boot-starter-1.2.8-javadoc.jar; 赠送源代码:druid-spring-boot-starter-1.2.8-sources.jar; 赠送Maven依赖信息文件:druid-...
axiom-c14n-1.2.8.jar axiom-c14n-1.2.8.jar axiom-c14n-1.2.8.jar
最新版 mysql-for-visualstudio-1.2.8.msi. mysql数据库连接visualstudio,
druid-1.2.8-javadoc.jar
mysql-connector-net-6.10.8.msi + mysql-for-visualstudio-1.2.8.msi ef 连接mysql 工具类
druid-spring-boot-starter-1.2.8.jar
赠送jar包:druid-spring-boot-starter-1.2.8.jar; 赠送原API文档:druid-spring-boot-starter-1.2.8-javadoc.jar; 赠送源代码:druid-spring-boot-starter-1.2.8-sources.jar; 赠送Maven依赖信息文件:druid-...
java 连接数据库资源包 mysql-connector-java-8.0.23.zip druid-1.2.8.jar
druid-1.2.8.jar
druid-spring-boot-starter-1.2.8-sources.jar