Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Log4j文件是';t created:WAS6.1上运行的应用程序的日志记录_Java_Logging_Log4j_Websphere_Web.xml - Fatal编程技术网

Java Log4j文件是';t created:WAS6.1上运行的应用程序的日志记录

Java Log4j文件是';t created:WAS6.1上运行的应用程序的日志记录,java,logging,log4j,websphere,web.xml,Java,Logging,Log4j,Websphere,Web.xml,我有一个Java应用程序在WAS6.1上运行,Log4j用于日志记录。 未创建日志文件。使用了其他一些日志配置,但不是与应用程序打包的配置 我应该在哪里检查WAS6.1全局log4j配置?如何为特定应用程序覆盖它 该应用程序是从war存档中部署的。 log4j-1.2.14.jar与应用程序打包在WEB-INF/lib目录中。我已经提出了一个建议 WEB-INF目录中的commons-logging.properties文件 以下是我的web.xml: <?xml version="1.0

我有一个Java应用程序在WAS6.1上运行,Log4j用于日志记录。 未创建日志文件。使用了其他一些日志配置,但不是与应用程序打包的配置

我应该在哪里检查WAS6.1全局log4j配置?如何为特定应用程序覆盖它

该应用程序是从war存档中部署的。
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>

LineCheckOptimizerWeb
index.jsp
log4jConfigLocation
/WEB-INF/log4j.xml
初始化Guice注入器并将其安装到ServletContext中
GuiceInitializer
com.aa.otrs.lco.guice.GuiceInitializer
MessageBrokerServlet
flex.messaging.MessageBrokerServlet
services.configuration.file
/WEB-INF/flex/services-config.xml
1.
MessageBrokerServlet
/消息代理/*
LCO JDBC数据源
jdbc/lco
javax.sql.DataSource
容器

检查应用程序中是否存在任何其他jar文件,该文件还包括log4j.xml。冲突将不允许启用正确的日志记录。还可以使用跟踪字符串com.ibm.ws.classloader.*=all启用跟踪,并重新启动服务器。检查trace.log


我最近遇到了类似的问题,团队添加了外部JAR,我将打开log4j的调试器(通过Systemd属性),查看拾取的log4j属性是什么,以及它是否拾取了您期望的属性。这是遇到log4j配置问题时要做的第一件事


如果您使用的是JCL,WAS6.1已经从JCL迁移到了JUL(从内存中说出来),请看一下这个->并看看这是否有帮助

结果是在其中一个项目*.jar-s中缺少一个log4jjar,该项目中有日志记录。修复了它,viola-它工作了,日志文件神奇地出现了

这听起来像是同一个问题,看看答案是否对你有帮助。谢谢你的指针,但没有-似乎没有任何区别。WAS不使用log4j,但它使用JCL。所以它不会占用您的commons-logging.properties。您尝试了哪些没有影响的方法?我将org.apache.commons.logging.LogFactory添加到META-INF/services目录中,正如我知道我无法识别
中所建议的那样。我不知道这是否与您的问题有关,但我非常确定只有基于Geronimo的WebSphere版本WebSphere Community Edition能够理解这一点。不是WebSphere6.1。