配置logback.xml
替换的时候,发现替换不成功
<property name="LOG_FILE_HOME" value="${log.root.path}" />
期望里面的${log.root.path}
=> /var/logs/discover
但是怎么样子都替换不了
后来发现,spring boot 对 maven 的resource插件进行了单独的配置
spring-boot-starter-parent-1.4.1.RELEASE.pom
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<configuration>
<delimiters>
<delimiter>${resource.delimiter}</delimiter>
</delimiters>
<useDefaultDelimiters>false</useDefaultDelimiters>
</configuration>
</plugin>
可以看到里面的delimiter
替换为了 ${resource.delimiter}
再看一下这个配置是什么?
<!-- delimiter that doesn't clash with Spring ${} placeholders --> <resource.delimiter>@</resource.delimiter>
我们可以看到变成了@
符号,并且他也提示了需要使用与Spring $ {}占位符不冲突的分隔符。
那么把上面 logback
的配置项改一下即可
<property name="LOG_FILE_HOME" value="@log.root.path@" />
或者配置一下 ${resource.delimiter}
,但是不能与${}
冲突