如何从外部路径加载logback.xml文件,而不是资源文件夹

时间:2016-11-14 08:23:56

标签: java slf4j

我无法打印slf4j日志消息。控制器未加载logback.xml文件。我在网上搜索我发现

static 
{ 
    System.setProperty("logback.configurationFile",     "D:/RxBDataFeeder/RxBDataFeeder/config/logback.xml");
}

此代码也无效。

3 个答案:

答案 0 :(得分:2)

您可以在启动应用程序时将logback配置文件作为参数传递,如下所示。

java -Dlogback.configurationFile=path/logback.xml MyApp

如果要在更改内容时自动重新配置它,请使用logback.xml,然后在logback.xml中使用以下内容

<configuration scan="true" scanPeriod="30 seconds" > 
  ...
</configuration> 

答案 1 :(得分:1)

logback.xml是作为独立文件从外部资源加载的,因此sysadmin可以在不重新编译代码的情况下更改日志记录设置。

LoggerFactory自动从类路径中获取任何logback.xml文件,因此为了使用外部文件,将其包含的目录添加到运行时类路径中。

此处描述了如何设置运行时类路径https://docs.oracle.com/javase/tutorial/essential/environment/paths.html

答案 2 :(得分:0)

这将解决:

gradlew clear