java - 未创建 Log4j 文件 : logging from the application running on WAS6. 1

标签 java logging log4j websphere web.xml

我有一个在 WAS 6.1 上运行的 Java 应用程序,使用 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>

最佳答案

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

我最近遇到了类似的问题,团队添加了外部 jar

关于java - 未创建 Log4j 文件 : logging from the application running on WAS6. 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11957839/

相关文章:

java - 如何在 ReactiveCrudRepository @Tailable 中创建方法

java - 如何在内存方面为四叉树叶的 "organize"数据结构?

java - android webview无法缩放

hadoop - hadoop日志文件夹中的.out文件是什么?删除它们安全吗?

java - log4j属性配置问题

java - catalina.out 每日滚动

java - 如何检索从 HTTP POST 接收到的两个字段值到 PHP?

c# - 登录 C# Windows 服务

linux - 为什么 rsyslog 在 logrotate 之后启动失败?

在 nginx 中记录代理事件