1

WebSphere アプリケーションで log4j を使用しています。class をデバッグする必要があるorg.springframework.ejb.access.AbstractRemoteSlsbInvokerInterceptorため、log4j.xml ファイルにロガーを作成しました。

<logger name="org.springframework">
    <level value="INFO" />
</logger>

<logger name="org.springframework.ejb.access">
    <level value="TRACE" />
</logger>

Web プロジェクトの src/main/resources にも作成しましcommons-logging.propertiesた (maven で):

org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger

ただし、Spring は log4j を使用してログを記録していません。デバッグ ファイルに springframework ログが表示されませんが、コンソールにログの一部 (INFO) が表示されます。したがって、Spring で使用される apache commons ロギングは、log4j を使用したロギングではないと思います。

Spring で使用されるロギングを WebSphere の Log4j エンジンにリダイレクトすることは可能ですか (およびその方法は?)

WebSphere 7.0、Spring 3.1.2、log4j 1.2.6、共有ライブラリで提供される commons-logging 1.1。

4

2 に答える 2

1

JCL (Spring を含む) ロギングを log4j 構成にルーティングするこの手法は、引き続き機能します。

slf4j も既にあるアプリ (Spring WebFlow のもの) の場合は、log4j 構成にルーティングすることもできます

ただし、Spring のログ情報を表示したいだけの場合は、コンソールのTroubleshooting> Logs and Trace> server-name >を使用して、WebSphere 自身のログ (SystemOut.log) へのロギングのレベルを上げることができますChange log level details

のようなものを追加します: org.springframework.ejb.access.*=fine(コロンはセパレータです)。

正確な WAS レベルが何に対応するのかはわかりませんが、利用可能なものを確認するためだけに [コンポーネントとグループ] 領域を展開するとfine、 、finer、およびfinestが「トレース」レベルの下にリストされます。

(特定のSpringパッケージがそこにリストされていなくても問題ないと思います.ところで、それでもログを正常に制御できるはずです。)

于 2013-11-13T05:33:15.153 に答える