【问题标题】:How to change SLF4J SimpleLogger filename?如何更改 SLF4J SimpleLogger 文件名?
【发布时间】:2016-01-26 09:42:23
【问题描述】:

我的 Java 应用程序使用 SLF4J,我已将其配置为使用 SimpleLogger 实现并将日志消息重定向到文件。这工作正常。

我如何随后更改日志文件的名称?

我尝试更改LOG_FILE_KEY 属性,但似乎没有效果。日志消息继续输出到原始日志文件中。

这就是我所做的:

System.setProperty(org.slf4j.impl.SimpleLogger.LOG_FILE_KEY, Paths.get("new-filename.txt").toString());

【问题讨论】:

    标签: java file-io slf4j system-properties


    【解决方案1】:

    要根据自己的喜好设置文件路径,只需在类路径上名为 simplelogger.properties 的文件中设置以下属性(例如,通过将此类文件放在资源目录下)或通过 -D JVM 启动选项。

    属性名称和语法很简单:

    org.slf4j.simpleLogger.logFile=your-file-path
    

    请参阅in this related answer,了解通过上述两种方法之一提供属性的示例。

    【讨论】:

    • 如何让 SimpleLogger 从类路径外部读取 simplelogger.properties 文件,即我想将此属性文件放在工件之外的某个系统路径处。
    【解决方案2】:

    我想我在this answer 的帮助下找到了答案,并查看了org.slf4j.impl.SimpleLogger 的源代码。

    答案是您无法创建新的日志文件,因为记录器属性仅加载一次 - 在构造第一个记录器实例时。后续记录器将使用与第一个记录器相同的属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-04
      • 2015-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-29
      • 1970-01-01
      相关资源
      最近更新 更多