用WAS 5开始,记得一直烦的事情就是怎么样看到log4j打出来的日志。
WAS很搞,自认为follow了sun的标准,于是把common logging打出的日志,用JDK的log来处理。 而开源软件使用最多的还是log4j的日志实现。 于是很多人就开始纠结怎么能让WAS能把日志可以像TOMCAT那样简简单单打出来。
记得曾经搞定过,用的方法就是起一个commons-logging.properties文件,然后放到commons-logging.jar里面就搞定了。
现在做的项目想用同样的方法,结果发现搞不定了@@
用的是WAS 6.1.0.29, commons-logging 1.1.1 然后 log4j 是 1.2.15 日志倒是可以根据log4j.properties里配置的位置出来,可是里面根本没有内容。
于是根据IBM的官方文档
http://www-01.ibm.com/support/docview.wss?uid=swg27010153,依葫芦画瓢照着做,里面提供两种方法,一个是我原先用的commons-logging.properties,一个是在WAR包里创建一个诡异的文件:META-INF/services/org.apache.commons.logging.LogFactory,里面放入org.apache.commons.logging.impl.Log4jFactory。
但是不管怎么样就是不出来。
查了N多文档,最后终于能让超级无比贵的WAS能做到和免费的TOMCAT一样的功能:打日志。
讲到这里,从搜索引擎过来正在啃手指,皱眉头,愁于解决问题的TX们急了,show me the money!
OK, 这是我的步骤:
1. commons-logging.properties放入
priority=1
org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.LogFactoryImpl
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
这个文件放在哪里无所谓,试过直接放到WAR包里的 WEB-INF/classes下,以及WEB-INF/lib下任何一个Jar包里都可。
2. War包里起个文件META-INF/services/org.apache.commons.logging.LogFactory
放入
org.apache.commons.logging.impl.Log4jFactory
3. 把log4j和commons-logging.jar包放入classloader能找到的地方,如WAR包里的WEB-INF/lib下,或者share lib里面。
其实上面关键的地方就是那个commons-logging.jar,我试了N把都有问题,最后发现不能使用最新的1.1.1版本,必须使用
1.0.3的版本才可以。 也许这个就是关键,其实上面的步骤1和2应该是只要有一步就行了。
分享到:
相关推荐
下面我们将从配置文件类型、核心JAR包、文件渲染和Log调用四个方面来比较Log4j和Log4j2的区别。 配置文件类型 Log4j通过一个.properties文件作为主配置文件,而Log4j2则弃用了这种方式,采用的是.xml、.json或者....
### Log4j2简介 ...综上所述,Log4j2在效率方面较Log4j 1.x有了显著提升,这主要得益于其设计理念上的改进和技术实现上的优化。对于寻求高性能日志解决方案的应用开发者来说,Log4j2无疑是一个值得考虑的选择。
Log4j是一个广泛使用的Java日志记录框架,它允许开发者在应用程序中轻松地记录各种级别的日志信息,如DEBUG、INFO、WARN、ERROR等。在2021年底,一个重大的安全漏洞(CVE-2021-44228)被发现在Log4j2的早期版本中,...
Apache log4j2零日漏洞,根据 log4j-2.15.0-rc2 版本编译生成log4j-api-2.15.0.jar 1.解压你的jar jar xvf XXX.jar 2. 删除旧版本jar cd ./BOOT-INF/lib rm -rf log4j-api-*.jar 3. 上传新版本log4j-api-2.15.0....
针对Log4j 2 远程代码执行漏洞,需要用到的升级资源包,适用于maven资源库,包括log4j,log4j-core,log4j-api,log4j-1.2-api,log4j-jpa等全套2.15.0 maven资源库jar包。如果是maven本地仓库使用,需要将zip包解压...
Log4j和Log4j2是两种广泛使用的Java日志框架,它们提供了灵活的日志配置和高性能的日志处理能力。本文将详细介绍如何在SpringBoot项目中配置Log4j和Log4j2。 ### SpringBoot与Log4j Log4j是Apache的一个开源项目,...
分别有disruptor-3.3.4.jar(Log4j2异步日志的底层实现)、log4j-api-2.19.0.jar(log4j门面)、log4j-core-2.19.0.jar(log4j实现)、log4j-slf4j-impl-2.19.0.jar(SLF4J与Log4j绑定)、slf4j-api-1.7.30.jar(SLF...
apache-log4j-1.2.15.jar, apache-log4j-extras-1.0.jar, apache-log4j-extras-1.1.jar, apache-log4j.jar, log4j-1.2-api-2.0.2-javadoc.jar, log4j-1.2-api-2.0.2-sources.jar, log4j-1.2-api-2.0.2.jar, log4j-...
WAS 上 log4j 日志不能输出(ibatis)sql 语句解决办法 在部署到 WAS 服务器上的 CMSII 系统中,ibatis 的 sql 语句不能输出日志的问题。解决该问题需要改变 WAS 的默认 LogFactory 实现类,使其使用 log4j 框架下...
此次提及的`log4j-api-2.12.4.jar`和`log4j-core-2.12.4.jar`是Log4j 2框架的两个关键组件,版本号为2.12.4,这个版本主要修复了之前版本中可能存在的安全漏洞。 **log4j-api-2.12.4.jar** 是Log4j 2框架的API模块...
Log4j、Log4j2和Fastjson是Java开发中常用的三个库,它们在软件开发中扮演着重要的角色。Log4j是Apache的一个开源项目,主要用于日志记录,提供了灵活的日志配置,允许开发者根据需求调整日志输出的级别和格式。Log4...
本文将详细探讨Log4j2中的两个关键组件:log4j-api-2.17.1.jar和log4j-core-2.17.1.jar。 首先,log4j-api-2.17.1.jar是Log4j2的核心API库,它定义了日志记录的接口和抽象类,为应用程序提供了一套编程模型。这些...
总结,SLF4J和Log4j的组合使用让日志管理更加灵活,开发者可以通过SLF4J的简洁API进行日志记录,同时利用Log4j的强大功能,如自定义输出格式和多种输出目的地。通过适当的配置和测试,我们可以确保日志系统按照预期...
6. **配置文件**:Log4j通常通过配置文件(如log4j.properties或log4j.xml)来设置其行为,包括定义日志器、appender和layout。 7. **MDC(Mapped Diagnostic Context)和NDC(Nested Diagnostic Context)**:这两...
Log4j 是一个功能强大且广泛使用的日志记录工具,特别是在 SSM(Spring、Spring MVC、Mybatis)整合项目中,合理地配置 Log4j 对项目的日志记录和输出至关重要。本文将详细介绍 SSM 整合中的 Log4j 配置详情,帮助...
由于很多大型企业和服务都在其基础设施中使用log4j2,这个漏洞的暴露无疑对全球网络安全构成了严重威胁。 面对这样的危机,Apache官方迅速行动,发布了log4j2的2.18.0版本,作为紧急修复措施。这个新版本包含了关键...
apache下载太慢,特搬到国内下载。修复log4j漏洞log4j2下载最新log4j2.16.0下载
在"Log4j.jar包,和log4j.properties属性文件打包下载"中,我们有两个关键组成部分: 1. **Log4j.jar**:这是Log4j的主要库文件,包含了所有必需的类和方法,使得程序员能够方便地在代码中插入日志语句。它提供了...
1. Log4j 1.2.6:这是Log4j的一个较早版本,提供了基本的日志记录功能,包括定义不同级别的日志(如DEBUG、INFO、WARN、ERROR和FATAL),以及通过配置文件自定义日志输出格式和目的地(如控制台、文件、SMTP等)。...
这是做日志分析的最新log4j2所必需的文件和包