slf4j日志未使用@RequestScope在bean初始化方法中打印任何内容

时间:2019-01-29 08:16:17

标签: java spring slf4j

我的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日志也可以正常工作。

我没有看到任何错误消息。

1 个答案:

答案 0 :(得分:0)

@RequestScope
每次使用时,bean SomeBean都会被初始化。
当项目运行时,它不会是init。
您可以仔细检查!

如果删除@RequestScope,那么在项目启动时bean将被初始化!这样你就可以看到日志