2009-08-31 9 views
3

私はaxis2上にwebserviceを作成しました。私はログの目的でlog4jを使用しました。私は、次のようなエラーに要求は、このWSのために来て任意の時間を取得しています:axis2でlog4jを使用する際の問題

log4j.rootCategory=INFO, CONSOLE 
#log4j.rootCategory=INFO, CONSOLE, LOGFILE 

# Set the enterprise logger priority to FATAL 
log4j.logger.org.apache.axis2.enterprise=FATAL 
log4j.logger.de.hunsicker.jalopy.io=FATAL 
log4j.logger.httpclient.wire.header=FATAL 
log4j.logger.org.apache.commons.httpclient=FATAL 

# CONSOLE is set to be a ConsoleAppender using a PatternLayout. 
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender 
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout 
log4j.appender.CONSOLE.layout.ConversionPattern=[%p] %m%n 

# LOGFILE is set to be a File appender using a PatternLayout. 
log4j.appender.LOGFILE=org.apache.log4j.FileAppender 
log4j.appender.LOGFILE.File=axis2.log 
log4j.appender.LOGFILE.Append=true 
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout 
log4j.appender.LOGFILE.layout.ConversionPattern=%d [%t] %-5p %c %x - %m%n 

と私はどこにlog4j.propertiesの他のコピーを持っていない次のよう

log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to a "org.apache.log4j.Appender" variable. 
log4j:ERROR The class "org.apache.log4j.Appender" was loaded by 
log4j:ERROR [[email protected]] whereas object of type 
log4j:ERROR "org.apache.log4j.ConsoleAppender" was loaded by [WebappClassLoader 
    delegate: false 
    repositories: 
    /WEB-INF/classes/ 
----------> Parent Classloader: 
[email protected] 
]. 
log4j:ERROR Could not instantiate appender named "CONSOLE". 
[ERROR] java.lang.NullPointerException 

私のlog4j.propertiesがあります私のあばたの中で。

誰も私がこの初期化エラーを取得している理由を知りませんか?事前に

おかげで、あなたはJar Hellである PJ

答えて

13

。 2つ以上のバージョンのlog4j jarが2つの異なるクラスローダーによってロードされているという問題があると思われます。一度同じような問題があったのですが、それは別のエラーメッセージでした。私はスキャンして、私のマシン上で7つのvevrsionsのlog4jを見つけました。 Yikes!

どうすればよいですか?そのうちの1つを除くすべてを削除します。

それは私のために働いた。

+0

こんにちは!お返事をありがとうございます。私はこれをチェックしたときに別のバージョンのlog4jを持っていたので、別の名前に変更してTomcatを再起動しましたが、同じ問題が残っています:(再起動/クリーンアップが必要かもしれないと思うものは何ですか? –

+1

私は最も古いlog4j jarファイルは完全に最新のクラスパスを維持します。 –

+4

jarファイルの名前は変更しますが、.jar拡張子はそのままにしてもTomcatなどはそれをロードします –

1

古いjarを削除してtomcatサーバーを再起動しました。エラーは消え去った。ご協力いただきありがとうございます!

関連する問題