Spring Boot 中 logback 中的 OWSAP ESAPI 日志记录支持

Ash*_*mar 1 java spring logback slf4j owasp

Spring Boot 应用程序的 logback 是否支持 OWSAP ESAPI 日志记录?我做了很多研究,但对此找不到太多。我发现org.owasp.esapi在这个PR之后现在支持这个。但这意味着我将不得不取消 logback。有没有一种方法可以使用 logback 实现 OWSAP ESAPI 日志记录?我们正在使用slf4jlogback 提供的记录器。

我查看了 logback 的 maven页面,自 2017 年以来没有任何重大版本。所以我猜测 logback 不支持 OWSAP ESAPI 日志记录。如果我错了,请纠正我。如果是这种情况,我可以使用其他替代方案吗?

另外根据这个spring-boot 不支持 slf4j 1.8 及以上版本。如果是这种情况,我可以使用其他替代方案吗?

Ash*_*mar 6

我发现org.owasp.esap实际上将实际日志记录委托给了我们现有的基础设施。所以我所要做的就是添加正确的包,它会通过我在 logback 中的任何配置自动处理日志记录。

将esapi依赖添加到pom.xml

<dependency>
        <groupId>org.owasp.esapi</groupId>
        <artifactId>esapi</artifactId>
        <version>2.2.0.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

ESAPI.properties文件添加到src/main/resources/. 该文件包含 ESAPI 记录器的配置属性。由于我使用的是Slf4j looger,所以我ESAPI.Logger=org.owasp.esapi.logging.slf4j.Slf4JLogFactory在文件中进行了设置。

现在我们可以使用 ESAPI 记录器进行记录,其内部将使用 Slf4j 记录器。由于 ESAPI 记录器的函数定义有一个额外的参数,我必须相应地更新所有记录器函数。