繁体   English   中英

如何在Spring Java配置中设置日志记录属性?

[英]How do I set the logging properties in a spring java configuration?

我正在使用Spring 5 MVC应用程序。 我正在尝试进行纯Java配置。 我注意到我的日志记录不起作用。 我的application.properties中有这个:

logging.level.org.springframework.web=ERROR
logging.level.org.springframework.security=ERROR
logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE 

现在,我当然不在使用application.properties,那么如何在我的@Configuration类之一中以纯Java方式设置它呢?

如果您实际上想要获得纯Java记录器配置,则可以按以下方式进行设置:

public class LoggingInitializer implements ApplicationContextInitializer {

    @Override
    public void initialize(ConfigurableApplicationContext applicationContext) {
        //suppose you use default logback (ch.qos.logback.classic.LoggerContext)
        LoggerContext c = (LoggerContext) LoggerFactory.getILoggerFactory();
        c.getLogger("ru.varren").setLevel(Level.DEBUG);
        c.getLogger("org.springframework.web").setLevel(Level.ERROR);
        c.getLogger("org.springframework.security").setLevel(Level.ERROR);
        c.getLogger("org.hibernate.SQL").setLevel(Level.DEBUG); 
    }
}

然后在应用启动之前在main中将其初始化。

public class Main {

    public static void main(String[] args){
        new SpringApplicationBuilder(Main.class)
                .initializers(new LoggingInitializer())
                .run(args);
    }
}

也看看这个答案: https : //stackoverflow.com/a/20521500/1032167

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM