我有一个网络过滤器,我只想在启用调试级别时执行。我试图实现一个虚拟过滤器以返回符合空对象模式,但我遇到了很多错误并损失了时间。下面的解决方案似乎可以无缝工作,但我想知道如果
@Bean
方法返回 null 会发生什么?这样安全吗?
@Bean
WebFilter payloadFilter() {
if(log.isDebugEnabled()) {
return new PayloadFilter();
}else{
return null;
}
}
我不知道你的应用程序中的热日志记录是受控制的,但是如果你通过 application.yml 设置日志记录级别,我会这样做:
@Bean
@ConditionalOnProperty(prefix = "logging.level", name = "com.example.config", havingValue = "DEBUG")
public WebFilter payloadFilter() {
return new PayloadFilter();
}