2016-06-28 27 views
1

log4jを1.Xから2.3にアップグレードしました。ロギングは正常に動作します。しかし、私はESAPIを使用しており、今私にエラーを与えています。log4jを1から2に移行するとESAPIエラーが発生する

これは私のESAPIのimport文です:

import org.owasp.esapi.ESAPI; 

これは私がESAPIを使用している方法です:

ESAPI.encoder().encodeForHTML(somevalue) 

私が受けてるの例外がある:

exception org.owasp.esapi.errors.ConfigurationException: java.lang.reflect.InvocationTargetException Encoder class (org.owasp.esapi.reference.DefaultEncoder) CTOR threw exception. 
org.owasp.esapi.errors.ConfigurationException: java.lang.reflect.InvocationTargetException Encoder class (org.owasp.esapi.reference.DefaultEncoder) CTOR threw exception. 
    at org.owasp.esapi.util.ObjFactory.make(ObjFactory.java:129) ~[esapi-2.1.0.jar:2.1.0] 
    at org.owasp.esapi.ESAPI.encoder(ESAPI.java:99) ~[esapi-2.1.0.jar:2.1.0] 

I Eclipseを使用していて、私はlog4j-api-2.3.jarとlog4j-core-2.3.jarを使用しています

+0

log4jを取り出すと、esapiエラーが表示されますか? – rajah9

+0

@ rajah9アプリケーションで深くネストされているので、チェックするのは難しいでしょう。 log4jを削除すると、非常に多くのエラーが発生します。しかし、log4j1.2.9を使ってもうまくいきました。 – AspUser7724

+0

FYI :. ESAPIの最新バージョンは2.1.0.1です。 – avgvstvs

答えて

0

log4j-1.2-api-2.3.jarはありますか?私はそれが使用しているLog4j 1.2 APIのためのバインディングを見つけることが疑わしいです。

代わりに、Log4j 2 for ESAPIのLogFactoryとLogger実装を使用することもできますが、これはおそらく実行しているよりもうまくいくと思われます。

+0

私はlog4j-1.2-api-2.3.jarとlog4j-api-2.3.jarとlog4j-core-2.3.jarを使用しています。これらをプロジェクトに追加しました。 – AspUser7724

+0

OK - それだけで十分です。私の場合、私はESAPIソースをダウンロードし、オブジェクトが構築されているときに何が失敗しているかを見ることができるように、ObjFactory.makeを通って、DefaultEncoderクラスにブレークポイントを置いてステップします。例外が発生している実際のクラスにブレークポイントを設定する必要があるので、これはちょっと難しいです。 DefaultEncoderはただの被害者です。 – rgoers

+0

「Log4j 2のLogFactoryとLoggerの実装」の方向と例を教えてください。私はあなたがこれによって何を意味したのか分かりません。 – AspUser7724

関連する問題