您的位置:首页 > 运维架构 > Linux

linux文档打包,压缩,解压缩常用指令介绍(tar gzip bzip2)

2014-07-11 11:23 519 查看
用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应该是只要有一步就行了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: