我目前正在处理我正在构建的应用程序的外部日志记录属性。我有一个名为myapp.properties
的自定义属性文件。它包含一些自定义属性和一些特定于环境的Spring属性,如SSL和服务器端口(包括日志记录)。
自定义属性文件适用于所有属性,但logging.level。*属性除外,它们只是明显被忽略。
例如,当我在自定义myapp.properties
中使用此属性时:
server.port=12345
。
它运作得很好:s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 12345 (http)
但是,当我为日志记录属性尝试相同的事情时:
logging.level.root=ERROR
它仍会记录其他消息:2017-05-10 12:32:54.984 INFO 9188 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
。
任何人都知道什么可能解决这个问题?
答案 0 :(得分:2)
Spring Boot很早就初始化了日志系统。事实上,这么早,通过PropertySourcesPlaceholderConfigurer
配置的属性文件无法及时提供。
您有几个选项,包括:
application.properties
或application.yml
文件spring.config.name
以便除了myapp.properties
application.properties
答案 1 :(得分:0)
基本上,我问这个问题是github上的问题。所以这是解决方案。 https://github.com/spring-projects/spring-boot/issues/9243