前两天项目部署,项目中使用了log4j。在本地或者服务器的tomcat下跑的都正常。但是部署到was上就不输出了。去网上搜了一下,各种回答都有,可是都不太适合我机器的版本。我的是webspehre 7.后来搜了老半天,终于找到一篇适合我情况的文章,终于解决了。原文链接:解决websphere7下,log4j不生效的办法
websphere 默认情况下,会启动自己的日志,将我们工程里面自己配置的log4j接管。全部输出到他的日志中。
解决办法是:
1、将common-logging.jar包和Log4J.jar包放入WAS的公用lib下面,即如此目录下,IBM\WebSphere\AppServer\lib
2、在项目中增加commons-logging.properties文件,并且与log4j文件同级,都放在SRC下面
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
3、将commons-logging.properties和log4j.properties文件拷入WAS的概要文件的properties目录下,如:IBM\WebSphere\AppServer\profiles\AppSrv01\properties