我已将log4j从1.X升级到2.3。记录工作正常。但是,我使用的是ESAPI,现在它给了我错误。
这是我的ESAPI导入声明:
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]
我正在使用Eclipse而我正在使用log4j-api-2.3.jar和log4j-core-2.3.jar
答案 0 :(得分:1)
你有log4j-1.2-api-2.3.jar吗?我怀疑它没有找到它正在使用的Log4j 1.2 API的任何绑定。
另一种方法是Log4j 2的LogFactory和Logger实现供ESAPI使用,但我怀疑这比你想做的更多。