如何使日志记录组件在整个 Spring 启动应用程序中可见

How to make logging components visible across whole Spring Boot application

我正在 运行 Spring 启动,我想向我的应用程序添加日志记录。所有示例的主应用程序入口点均具有以下内容:

    private static final Logger log = LoggerFactory.getLogger(Application.class);

但是,我希望相同的日志变量在我的所有应用程序组件(服务、控制器等)中可见(作为 Singleton)。我该怎么做?谢谢!

您可以创建静态 class.. 其中包含:

private static final Logger log = LoggerFactory.getLogger(StaticLog.class);

并将公开写入日志的方法..

希望能满足您的需求

您可以使用 springs IoC 容器来实现这一点。

只需在@Configuration cass 中像这样配置一个bean

@Bean
public Logger log() {
   return LoggerFactory.getLogger(AnyClassYouWant.class);
}

并在你的 class

中使用 @Autowired 注入它
class WhatEver {
   @Autowired
   Logger log;

   //...
}