我有一个使用Spring Boot和maven的小项目,现在我正在尝试配置logback来写入文件。我希望它写入由${project.build.directory}/${log.folder}/logfile.log
给出的文件,因此构建目录的子文件夹,${log.folder}
是我在application.properties
文件中指定的属性,放在我的{{1}下面文件夹。
这是我的logback.xml
/resources
它写日志,但我的问题是,当我运行应用程序时,它会创建一个文件夹project.build.directory_IS_UNDEFINED,然后将我的log.folder放在它下面。它说in the documentation,那个
作为构建工具,logback依赖于广泛使用的开源Maven 构建工具。
当我在logback.xml中输入$ {pro ...时,我的IDE会显示一组可用的maven implicit properties。
所以它应该有效,但它没有。知道为什么吗?
答案 0 :(得分:7)
由于@luboskmac的说法,它不起作用。
以下是如何使其发挥作用。我已经复制了这个问题并推出了一个解决方案:https://github.com/ajorpheus/logback-maven/releases
以下是修复程序的摘要:https://github.com/ajorpheus/logback-maven/commit/f245e5a6f4c13f9ba8e161c5452d296b653977d0
答案 1 :(得分:2)
${project.build.directory}
是Maven的属性,仅在maven构建期间可用。另一方面,Logback正在应用程序的运行时使用。所以很明显${project.build.directory}
没有在运行时定义。
您需要选择适合运行时环境和部署拓扑的位置。
答案 2 :(得分:-1)
您可以使用部署容器属性。
喜欢tomcat
${catalina.base}/logs