2011-11-13 7 views
6

scanPeriodプロパティに変数置換を使用して、複数の環境ファイルを持つことができます。ログバックはscanPeriodプロパティの変数置換を認識できません

Logbackが特定のプロパティに対してvariable substitutionを認識できないようです。例えば

scanPeriodプロパティ:

Logback構成:logback性の10分のデフォルト値を取るように指定

<configuration scan="${scan:-true}" scanPeriod="${scan-interval:-10 minutes}"> 

が定義されていません。

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によれば、持続時間の形式が正しいです。

これは、使用している:

  • SLF4J 1.6.2
  • logbackのclassis 0.9.30
  • logbackコア0.9.30

EDIT:はこのためのJIRAレポートを提出します - http://jira.qos.ch/browse/LBCLASSIC-307

更新日: 28 Dec 2011これはメジャーとしてマークされ、Ceki Gulcuが見た。 :D

更新日: 2012年6月12日まだ更新はありません。 JIRAのコメントを残しました。

更新日: 2012年7月12日有効なバグとして認められています。 1.0.7

答えて

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); 
+0

ヘッドアップ、ありがとうございます。 –

関連する問題