我有一个Spring Boot和maven的小项目,现在我正在尝试配置logback来写入文件.我希望它写入一个给定的文件${project.build.directory}/${log.folder}/logfile.log
,因此构建目录的子文件夹${log.folder}
是我在application.properties
文件中指定的属性,放在我的/resources
文件夹下.
这是我的logback.xml
${project.build.directory}/${log.folder}/logfile.log %d{"yyyy-MM-dd HH:mm:ss,SSS zzz"}, [%thread] %-5level %logger{5} - %msg%n ${log.folder}/spring.log.%d
它写日志,但我的问题是,当我运行应用程序时,它会创建一个文件夹project.build.directory_IS_UNDEFINED,然后将我的log.folder放在它下面.它在文档中说,那
作为其构建工具,logback依赖于Maven,这是一种广泛使用的开源构建工具.
当在logback.xml中,我开始键入$ {pro ...然后我的IDE显示一组可用的maven隐式属性.
所以它应该有效,但事实并非如此.知道为什么吗?
由于@luboskmac的说法,它不起作用.
以下是如何使其工作.我已经重现了这个问题并推出了一个解决方案:https://github.com/ajorpheus/logback-maven/releases
以下是修复程序的摘要:https://github.com/ajorpheus/logback-maven/commit/f245e5a6f4c13f9ba8e161c5452d296b653977d0
在pom中定义一个属性来保存日志文件的位置:
使用logback.xml
appender中的属性:
启用maven资源过滤,以便将正在扫描的资源中定义的任何maven属性替换为其对应的值