gpt4 book ai didi

java - 我可以以编程方式设置 Spring Boot 的日志位置吗?

转载 作者:搜寻专家 更新时间:2023-11-01 03:34:31 25 4
gpt4 key购买 nike

可以使用 application.properties 中的 logging.file 属性设置 Spring Boot 的日志记录位置。但是我想以编程方式设置位置。我的逻辑不基于任何 Spring bean,仅基于反复试验,因为相同的代码必须在可能具有不同安全配置的不同环境中运行。

根据 the documentation :

Since logging is initialized before the ApplicationContext is created, it isn’t possible to control logging from @PropertySources in Spring @Configuration files. System properties and the conventional Spring Boot external configuration files work just fine.) [sic]

所以我知道我不能使用 @Configuration 文件,但我可以使用其他方式(如静态初始化程序)并仍然设法以编程方式设置日志记录位置吗?

(注意:我个人将 SLF4J 与 Logback 一起使用,但 Spring Boot 的日志框架旨在应对不同的日志外观/实现,实际上在内部使用 Commons Logging。)

(注意 2:有些人注意到这是 another question 的重复......但是这个问题似乎更多地谈论配置实际的日志记录实现,而这个问题是关于 Spring Boot 自己的配置。事实上,我无法立即从这些答案中确定如何解决我的特定问题,如相关答案下方的评论中所述。另一个问题的答案主要集中在如何在正确的上下文初始化点加载代码,而我的问题是关于如何设置日志记录位置。)

最佳答案

还有另一个答案:Spring Boot programmatic logging configuration

基本上,可以通过SpringApplicationInitializer(实现ApplicationContextInitializer)来做到这一点

SpringApplication application = new SpringApplication(MySources.class);
application.addInitializers(new LoggingInitializer());
application.run(args);

关于java - 我可以以编程方式设置 Spring Boot 的日志位置吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35364339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com