是否可以将loglevel设置为自定义启动器配置的一部分?
让我们说,例如,我创建了一个自定义启动器,扩展了默认的spring-boot-starter-data-jpa。是否可以将org.hibernate
的日志级别设置为WARN
作为启动程序的一部分,以便使用我的自定义启动程序的每个应用程序自动继承此属性而无需从INFO
切换到{{1在他们自己的属性文件中?
非常感谢!
答案 0 :(得分:3)
我建议通过向包含logging.level.org.hibernate
属性设置为WARN
的环境添加属性源来执行此操作。
为此,您可以使用META-INF/spring.factories
注册EnvironmentPostProcessor
的实施。 spring.factories
文件是属性文件。键是已实现接口的完全限定类名。在这种情况下,它是org.springframework.boot.env.EnvironmentPostProcessor
,值应该是您的实现的完全限定名称。内容会像这样:
org.springframework.boot.env.EnvironmentPostProcessor=com.example.HibernateLoggingEnvironmentPostProcessor
在EnvironmentPostProcessor
实施中,您应该向PropertySource
添加Environment
。该属性源应包含logging.level.org.hibernate
属性,其值为WARN
。例如,您可以使用MapPropertySource
创建的Collections.singletonMap
。