我正在尝试对scanPeriod
属性使用变量替换,以便我可以拥有多个环境文件。
似乎Logback无法识别某些属性的variable substitution。
例如scanPeriod
属性:
Logback配置:
<configuration scan="${scan:-true}" scanPeriod="${scan-interval:-10 minutes}">
未定义默认值为10分钟的logback属性。
Logback属性:
scan=true
scan-interval=30 seconds
此属性应覆盖默认配置10分钟。
Logback错误:
java.lang.IllegalArgumentException: String value [${scan-interval:-10 minutes}] is not in the expected format.
根据Duration API,持续时间格式是正确的。
这是使用:
编辑:提交Jira报告 - http://jira.qos.ch/browse/LBCLASSIC-307
更新: 2011年12月28日这是一个专业,由Ceki Gulcu看。 :d
更新: 2012年6月12日仍然没有更新。在JIRA留下评论。
更新: 2012年7月12日被接受为有效的错误。修复1.0.7
答案 0 :(得分:2)
根据您发布的Duration API,您也可以使用(没有空格):
<configuration scan="${scan:-true}" scanPeriod="${scan-interval:-10minutes}">
private static final Pattern DURATION_PATTERN = Pattern.compile(DOUBLE_PART
+ "\\s*" + UNIT_PART, Pattern.CASE_INSENSITIVE);
答案 1 :(得分:0)
http://jira.qos.ch/browse/LOGBACK-396
接受为有效错误并在1.0.7中修复