如何更改SLF4J SimpleLogger文件名?

时间:2016-01-26 09:42:24

标签: java file-io slf4j system-properties

我的Java应用程序使用SLF4J我已配置使用SimpleLogger实现并将日志消息重定向到文件。这很好。

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

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

这就是我所做的:

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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

属性名称和语法很简单:

-D

有关通过上述两种方法之一提供财产的示例,请参阅in this related answer