1

srcパッケージに次のようなlog4j.propertiesファイルがあります。

log4j.rootLogger=DEBUG, CA, EVA 

#Console Appender 
log4j.appender.CA=org.apache.log4j.ConsoleAppender 
log4j.appender.CA.layout=org.apache.log4j.PatternLayout 
log4j.appender.CA.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n 

#Event Viewer Appender
log4j.appender.EVA=org.apache.log4j.nt.NTEventLogAppender
log4j.appender.EVA.layout=org.apache.log4j.PatternLayout
log4j.appender.EVA.source=MySource
log4j.appender.EVA.layout.ConversionPattern=[%c][%l][%p][%thread]: %m%n

次のようなインターフェイス(LogInterface.java)でロガーを作成します。

package components;

import org.apache.log4j.Logger;

public interface LogInterface {

    static final Logger logger = Logger.getLogger("MyLogger");

}

NTEventLogAppender.dllを次の場所に配置します。

C:\ Program Files(x86)\ IBM \ WID7_WTE \ runtime \ bi_v7 \ java \ jre \ bin

ログに記録する例外があると、次のエラーが発生することがあります。

NTEventLogAppender(ライブラリはすでに別のClassLoaderにロードされています)

この問題を解決するにはどうすればよいですか?

ありがとう

4

1 に答える 1

1

この問題の解決策は、log4jJARファイルを次の場所に配置することでした。

Application_Server_Install_Path \ lib

プロジェクトで、log4j JARファイルをプロジェクトのビルドパスに変数として追加しました(変数の追加オプション)

これにより、IDEのJAR参照が解決されます。あとは、WebsphereApplicationServerのランタイムに以前のlog4jJARファイル参照を追加するだけです。

これを行うには、WAS管理コンソールにアクセスし、以前のlog4jJARファイルパスを次の場所に追加しました。

環境->共有ライブラリ

誰もこれと同じ問題を抱えているようには見えませんが、これが将来の同様の問題の解決策です

ありがとう

于 2011-07-11T22:59:08.277 に答える