首页 > 解决方案 > Spring Boot 日志文件可以由 application.properties 设置,但不能由 System.setProperty("logging.file",name)

问题描述

我有一个 Spring Boot 应用程序,它可以从 application.properties 读取硬编码的日志文件名,如下所示:

选项1:(工作正常)

 logging.file=C\\outputFolder\\fileName3.log

选项2:(不工作)

出于某种原因,如果我将其设置为

  System.setProperty("logging.file", "C:\\outputFolder\\fileName2.log"); 

它不起作用,我有一个非常相似的 Spring Boot 应用程序,它使用选项 2 读取文件名,知道这里缺少什么吗?

我通过以下方式使用 slf4j:

   import org.slf4j.Logger;
   import org.slf4j.LoggerFactory;

   private static final Logger log = LoggerFactory.getLogger(ClassName.class);

标签: spring-bootlog4jslf4j

解决方案


您正在通过spring boot完成日志配置后设置属性值,调用 System.setProperty("logging.file", "C:\\outputFolder\\fileName2.log")不会生效。

您可以使用从第二个应用程序读取文件位置System.getProperty("logging.file")


推荐阅读