您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Spring正在重置我的日志记录配置-我该如何解决?

Spring正在重置我的日志记录配置-我该如何解决?

这听起来像将您对日志记录配置的自定义推迟到LoggingApplicationListener运行之后才起作用。

LoggingApplicationListener响应ApplicationEnvironmentPreparedEvent并执行的顺序执行初始化Ordered.HIGHEST_PRECEDENCE + 11。为了防止您的自定义配置被覆盖,您可以将您的自定义逻辑封装在SmartApplicationListener响应相同事件但顺序较低的中,使其在LoggingApplicationListener以下时间运行:

public class CustomLoggingConfigurationApplicationListener implements
    SmartApplicationListener {

    @Override
    public void onApplicationEvent(ApplicationEvent event) {    
        // Customise the logging configuration
    }

    @Override
    public int getOrder() {
        return Ordered.HIGHEST_PRECEDENCE + 12;
    }

    @Override
    public boolean supportsEventType(Class<? extends ApplicationEvent> eventType) {
        return ApplicationEnvironmentPreparedEvent.class.isAssignableFrom(eventType);
    }

    @Override
    public boolean supportsSourceType(Class<?> sourceType) {
        return true;
    }

}

您可以创建侦听器并将其注册到应用程序的main方法中:

@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        new SpringApplicationBuilder(Application.class)
                .listeners(new CustomLoggingConfigurationApplicationListener())
                .run(args);
    }
}
Java 2022/1/1 18:15:59 有661人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶