软件开发

Tomcat迁移到WAS下LOG的存放问题!

项目从tomcat下迁移到WAS下,用的是log4j日志管理,tomcat下配置的路径为:log4j.appender.fileout.File=${catalina.home}/logs/;迁移到WAS下logs文件夹直接存放到根目录下,本想根据相对路径存放在部署的服务器下,希望大神帮帮忙,谢谢!...显示全部
项目从tomcat下迁移到WAS下,用的是log4j日志管理,tomcat下配置的路径为:log4j.appender.fileout.File=${catalina.home}/logs/;
迁移到WAS下logs文件夹直接存放到根目录下,本想根据相对路径存放在部署的服务器下,希望大神帮帮忙,谢谢!收起
参与9

查看其它 7 个回答javalipan的回答

javalipanjavalipan软件开发工程师软博
我也遇到过这种问题,好像was里面用log4j要配置下才能打出日志文件,你看下面的东西能不能帮到你

WAS 也是用的 commons-logging 日志框架
commons-logging 确定 LogFactory 实现的顺序是
1. 从应用的 META-INF/services/org.apache.commons.logging.LogFactory 中获得 LogFactory 实现
2. 从系统环境中获得 org.qpache.commons.logging.LogFactory 获得 LogFactory 实现
3. 从 classpath  下的 commons-logging.properties 文件中获得 LogFactory 实现
在 tomcat 下表现良好的 log4j 日志输出放到 was 下不灵了,是因为 was 在第二步截住了,was 有一个系统环境变量 org.qpache.commons.logging.LogFactory 的值为 com.ibm.was.commons.logging.TrLogFactory,这个类在 ws-commons-logging.jar 中, 所以我们在使用 commons-logging 时,要能应用到所期望的 LogFactory 实现就要在第一步获得 LogFactory 实现,这就是前面的第二种方法。

解决这个问题可以通过以下步骤:
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
2、        将写好配置的commons-logging.properties 放到 /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/properties目录下
3、        将log4j-1.2.15.jar 和 commons-logging-1.1.1.jar 放到/opt/IBM/WebSphere/AppServer/lib目录下
互联网服务 · 2014-07-03
浏览818

回答者

javalipan
软件开发工程师软博

javalipan 最近回答过的问题

回答状态

  • 发布时间:2014-07-03
  • 关注会员:1 人
  • 回答浏览:818
  • X社区推广