将log4j从1迁移到2导致ESAPI错误

时间:2016-06-28 21:15:29

标签: java log4j2 esapi

我已将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

1 个答案:

答案 0 :(得分:1)

你有log4j-1.2-api-2.3.jar吗?我怀疑它没有找到它正在使用的Log4j 1.2 API的任何绑定。

另一种方法是Log4j 2的LogFactory和Logger实现供ESAPI使用,但我怀疑这比你想做的更多。