gpt4 book ai didi

java - 在 MVC 应用程序中对日志消息进行分组的最佳方法是什么

转载 作者:太空宇宙 更新时间:2023-11-04 10:06:36 24 4
gpt4 key购买 nike

我想以最少的重构向我们的 Spring MVC 应用程序添加一个日志系统。我想对每个请求的消息进行分组,并附加一些 id 到它。我想到的一种方法是,在 Controller 中创建一些带有 id 的记录器对象,并将其传递给服务、DAO 层。所有层都不断向该记录器对象添加消息。最后,我在请求处理结束时打印它们。 Spring 或 log4j 框架是否提供了更好的方法来实现这一目标?

最佳答案

Spring 有一个请求范围,因此您可以创建一个在收到请求时生成的请求范围的 ID 对象。然后,您可以将此对象注入(inject)到需要使用常规依赖项注入(inject)进行记录的类中,这样您就不必传递任何内容。

@Bean
@Scope(value = WebApplicationContext.SCOPE_REQUEST, proxyMode = ScopedProxyMode.TARGET_CLASS)
public RequestId requestScopedBean() {
return new RequestId();
}

对于Log,常见的做法是为每个类初始化一个Log。然后您就可以在每个类中拥有您想要的所有元素。

private static final Logger logger = Logger.getLogger(YourClass.java)

希望对你有帮助!

关于java - 在 MVC 应用程序中对日志消息进行分组的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52826082/

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