Java Logback无法识别scanPeriod属性的变量替换

Java Logback无法识别scanPeriod属性的变量替换,java,logback,Java,Logback,我正在尝试使用变量替换scanpiriod属性,以便可以有多个环境文件 似乎Logback无法识别某些属性 例如,scanPeriod属性: 回写配置: <configuration scan="${scan:-true}" scanPeriod="${scan-interval:-10 minutes}"> 此属性应覆盖10分钟的默认配置 回写错误: java.lang.IllegalArgumentException: String value [${scan-interval

我正在尝试使用变量替换
scanpiriod
属性,以便可以有多个环境文件

似乎Logback无法识别某些属性

例如,
scanPeriod
属性:

回写配置:

<configuration scan="${scan:-true}" scanPeriod="${scan-interval:-10 minutes}">
此属性应覆盖10分钟的默认配置

回写错误:

java.lang.IllegalArgumentException: String value [${scan-interval:-10 minutes}] is not in the expected format.
根据,持续时间格式是正确的

这是使用:

  • slf4j 1.6.2
  • 回写classis 0.9.30
  • 回写核心0.9.30
编辑:为此提交了Jira报告

更新: 2011年12月28日这被标记为大调,由Ceki Gulcu查看:D

更新: 2012年6月12日仍然没有更新。左评论在吉拉

更新: 2012年7月12日被视为有效缺陷。要根据您发布的内容在1.0.7中进行修复,您还可以使用(不带空格):


私有静态最终模式持续时间\u Pattern=Pattern.compile(双\u部分
+“\\s*”+单元部分,模式。不区分大小写);


作为一个有效的bug被接受并将在1.0.7中修复

谢谢你的提醒,是的。
java.lang.IllegalArgumentException: String value [${scan-interval:-10 minutes}] is not in the expected format.
<configuration scan="${scan:-true}" scanPeriod="${scan-interval:-10minutes}">

private static final Pattern DURATION_PATTERN = Pattern.compile(DOUBLE_PART
                              + "\\s*" + UNIT_PART, Pattern.CASE_INSENSITIVE);