我有一个在WAS 6.1上运行的Java应用程序,Log4j用于记录。 不会创建日志文件。使用了一些其他用于日志记录的配置,但不使用随应用程序打包的配置。
我应该在哪里检查WAS6.1全局log4j配置?如何为特定应用程序覆盖它?
该应用程序是从战争档案中部署的 log4j-1.2.14.jar与WEB-INF / lib目录中的应用程序打包在一起。我放了一个 WEB-INF目录中的commons-logging.properties文件。
这是我的web.xml:
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:web="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
id="WebApp_ID" version="2.4">
<display-name>LineCheckOptimizerWeb</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/log4j.xml</param-value>
</context-param>
<listener>
<description>Initializes a Guice Injector and installs it into the ServletContext</description>
<display-name>GuiceInitializer</display-name>
<listener-class>com.aa.otrs.lco.guice.GuiceInitializer</listener-class>
</listener>
<servlet>
<servlet-name>MessageBrokerServlet</servlet-name>
<servlet-class>flex.messaging.MessageBrokerServlet</servlet-class>
<init-param>
<param-name>services.configuration.file</param-name>
<param-value>/WEB-INF/flex/services-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>MessageBrokerServlet</servlet-name>
<url-pattern>/messagebroker/*</url-pattern>
</servlet-mapping>
<resource-ref>
<description>LCO JDBC Datasource</description>
<res-ref-name>jdbc/lco</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
答案 0 :(得分:2)
检查应用程序中是否存在任何其他jar文件,其中还包含log4j.xml。冲突将不允许启用正确的日志记录。还可以使用跟踪字符串com.ibm.ws.classloader启用跟踪。* = all并重新启动服务器。检查trace.log
我最近遇到类似问题,团队添加了外部罐子
答案 1 :(得分:0)
我会打开log4j的调试器(通过System D属性),看看被选中的log4j属性是什么,以及它是否选择了你期望的那个。当遇到log4j配置问题时,这是第一件事。
如果您正在使用JCL,WAS 6.1已经离开JCL并使用JUL(从内存中说出来)看看这个 - &gt; http://www.ibm.com/developerworks/websphere/techjournal/0901_supauth/0901_supauth.html并查看是否有帮助。
答案 2 :(得分:0)
原来它在其中一个项目* .jar-s中缺少一个log4j jar,里面有日志记录。修复它,中提琴 - 它工作,日志文件神奇地按预期出现。