gpt4 book ai didi

java - spring boot中如何使用自定义logger记录访问日志

转载 作者:IT老高 更新时间:2023-10-28 13:47:24 27 4
gpt4 key购买 nike

目前在 Spring Boot 1.3 中,我们只能将访问日志记录到文件系统中的文件中。有什么方法可以实际使用自定义记录器(如 log4j2)来记录访问日志?

我目前正在使用带有 spring boot 的 undertow,但是在检查了 spring boot 源代码之后,undertow 记录器使用正在写入文件的 DefaultAccessLogReceiver 进行了初始化。如果可能,我想使用 AccessLogHandler,并避免编写记录访问的 Web 过滤器。

有什么简单的方法可以解决这个问题吗? (除了写一个拉请求)

最佳答案

解决这种不可自定义的硬编码问题的技巧是隐藏类以使用具有相同包和名称的新类退出。您所要做的就是提供一个基于 log4j 的 DefaultAccessLogReceiver并确保它可以在 undertow 库中的类加载器之前被类加载器搜索。

package io.undertow.server.handlers.accesslog;

public class DefaultAccessLogReceiver implements AccessLogReceiver {

public void logMessage(final String message) {
// TODO: log with log4j
}
}

关于java - spring boot中如何使用自定义logger记录访问日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35616262/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com