如何在spring java配置中设置日志记录属性?

我正在使用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