我的bean定义代码如下所示。
@Configuration
public class BeanConfig {
private org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(BeanConfig.class);
@Bean
@RequestScope //remove this and the slf4j log print well again!
public SomeBean someBean() {
SomeBean someBean = new SomeBean();
log.error("init bean ~~~ {}", someBean);
System.out.println("init bean ~~~ {}" + someBean);
return someBean;
}
}
问题是:slf4j日志什么都没打印,只有System.out.println
部分可以打印。
我可以确认slf4j日志设置正确(这是Spring Boot 2.0.8的默认设置),其他slf4j日志也可以正常工作。
我没有看到任何错误消息。
答案 0 :(得分:0)
@RequestScope
每次使用时,bean SomeBean
都会被初始化。
当项目运行时,它不会是init。
您可以仔细检查!
如果删除@RequestScope
,那么在项目启动时bean将被初始化!这样你就可以看到日志