Logback не может распознать подстановку переменных для свойств scanPeriod - PullRequest
6 голосов
/ 13 ноября 2011

Я пытаюсь использовать подстановку переменной для свойства scanPeriod, чтобы у меня могло быть несколько файлов среды.

Похоже, что Logback не может распознать подстановку переменной для определенных свойств.

Например, свойство scanPeriod:

Конфигурация обратного вызова:

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

Указано, что для значения по умолчанию 10 минут свойство обратного входа не определено.*

Свойства журнала:

scan=true
scan-interval=30 seconds

Это свойство должно переопределить конфигурацию по умолчанию, равную 10 минутам.

Ошибка записи:

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

РЕДАКТИРОВАТЬ: Подал отчет Jira для этого - http://jira.qos.ch/browse/LBCLASSIC-307

ОБНОВЛЕНИЕ: 28 декабря 2011 Это помечено какмайор, и смотрел на Ceki Gulcu.: D

ОБНОВЛЕНИЕ: 12 июня 2012 Все еще нет обновлений.Оставленный комментарий в JIRA.

ОБНОВЛЕНИЕ: 12 июля 2012 Принято как допустимая ошибка.Исправить в 1.0.7

Ответы [ 2 ]

2 голосов
/ 17 ноября 2011

В соответствии с 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 голосов
/ 14 июля 2012

http://jira.qos.ch/browse/LOGBACK-396

Принимается как допустимая ошибка и исправляется в 1.0.7

...