1

ロギングに Log4j を使用して、WAS 6.1 で Java アプリケーションを実行しています。ログ ファイルは作成されません。ロギング用に他の構成が使用されますが、アプリケーションにパッケージ化された構成は使用されません。

WAS6.1 グローバル log4j 構成はどこで確認すればよいですか? 特定のアプリケーション用に上書きするにはどうすればよいですか?

アプリケーションは war アーカイブからデプロイされます。
log4j-1.2.14.jar は、アプリケーションとともに WEB-INF/lib ディレクトリにパッケージ化されています。commons-logging.properties ファイルを WEB-INF ディレクトリに置きました。

これが私の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>

4

3 に答える 3

2

log4j.xmlを含む他のjarファイルがアプリケーションに存在するかどうかを確認します。競合により、適切なロギングを有効にできなくなります。また、トレース文字列com.ibm.ws.classloader。* = allを使用してトレースを有効にし、サーバーを再始動します。trace.logを確認してください

最近、チームが外部jarを追加した場合に同様の問題に直面しました

于 2012-08-15T06:53:22.667 に答える
0

ロギングが含まれているプロジェクト*.jar-sの1つにlog4jjarが含まれていないことが判明しました。それを修正し、ビオラ-それは機能し、ログファイルは魔法のように期待どおりに表示されました。

于 2012-08-16T18:54:30.243 に答える
0

(System D プロパティを介して) log4j のデバッガーをオンにして、選択された log4j プロパティと、期待するものを選択するかどうかを確認します。これは、log4j 構成の問題が発生したときに最初に行うことです。

JCL を使用している場合、WAS 6.1 は JCL から離れて JUL を使用しています (これは記憶から言っています) そして、それが役立つかどうかを確認してください。

于 2012-08-16T01:41:23.103 に答える