【发布时间】:2016-05-23 16:55:37
【问题描述】:
可以使用application.properties 中的logging.file 属性设置Spring Boot 的日志记录位置。但是我想以编程方式设置位置。我的逻辑不是基于任何 Spring bean,而是基于反复试验,因为相同的代码必须在可能具有不同安全配置的不同环境中运行。
由于在创建
ApplicationContext之前已初始化日志记录,因此无法在 Spring@Configuration文件中控制来自@PropertySources的日志记录。系统属性和传统的 Spring Boot 外部配置文件工作得很好。)[原文如此]
所以我知道我不能使用 @Configuration 文件,但我可以使用静态初始化程序等其他方式并仍然设法以编程方式设置日志记录位置吗?
(注意:我个人使用 SLF4J 和 Logback,但 Spring Boot 的日志框架旨在应对不同的日志外观/实现,实际上在内部使用 Commons Logging。)
(注意 2:有些人注意到这是 another question 的重复...但是这个问题似乎更多地谈论配置实际的日志实现,而这个问题是关于 Spring Boot 自己的配置。事实上,我无法立即从这些答案中确定如何解决我的具体问题,正如相关答案下方的评论中所述.其他问题的答案主要集中在如何让代码在上下文初始化的正确点加载,而我的问题是关于如何设置记录位置。)
【问题讨论】:
-
我有同样的问题,同样的要求。你能以某种方式解决它吗?在对 SpringApplicationInitializer 答案的评论中,您说它不会像这样工作。您最后找到了哪些其他解决方案?
标签: java spring logging spring-boot logback