27

如果项目类路径中不存在 logback.xml,我们如何通过 jvm 参数加载 logback.xml?

我正在使用

 -Dlogback.configuration=file:C:\logbacs\logback.xml 

但这不起作用。

4

5 回答 5

39

我找到了解决方案

-Dlogging.config="C:\logbacs\logback.xml"

对我来说很好。

已更新,因为先前的答案已过时

于 2013-10-22T13:25:32.727 回答
21

如果您不使用 SpringBoot,上述方法将不起作用。

我正在使用 ch.qos.logback.logback-classic 库,在这种情况下,解决方案是

-Dlogback.configurationFile=file:/app/logback.xml

我在 ch.qos.logback.classic.util.ContextInitializer 中找到了这个属性:

final public static String CONFIG_FILE_PROPERTY = "logback.configurationFile"
于 2017-05-10T10:02:24.947 回答
4

这个问题的原始答案似乎不再起作用,因为它产生了这个警告:

o.s.b.l.logback.LogbackLoggingSystem     : Ignoring 'logback.configurationFile' system property. Please use 'logging.config' instead.

因此,你会想要使用这样的东西:

-Dlogging.config="C:\logbacs\logback.xml"
于 2017-01-13T21:58:59.870 回答
0

对我来说,它只适用于这个属性:

-Dconfig.dir= "YOUR PATH TO CONFIG FILE"
于 2020-02-27T14:50:15.637 回答
0

根据https://logback.qos.ch/manual/configuration.html,使用-Dlogback.configurationFile

java -Dlogback.configurationFile=/path/to/config.xml chapters.configuration.MyApp1
于 2022-01-04T05:01:20.970 回答