2011-11-13 10 views
6

Estoy tratando de usar la sustitución de variables para la propiedad scanPeriod de manera que pueda tener varios archivos de entorno.Logback no puede reconocer la sustitución de variables para las propiedades de scanPeriod

Parece que Logback no puede reconocer variable substitution para ciertas propiedades.

Por ejemplo la scanPeriod propiedad: configuración

Logback:

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

especificado para tomar valor predeterminado de 10 minutos de propiedad logback no está definido.

propiedades logback:

scan=true 
scan-interval=30 seconds 

Esta propiedad debe anular la configuración por defecto de 10 minutos.

error Logback:

java.lang.IllegalArgumentException: String value [${scan-interval:-10 minutes}] is not in the expected format. 

De acuerdo con la Duration API, el formato de duración es correcta.

Se trata de utilizar:

  • slf4j 1.6.2
  • clasis logback 0.9.30
  • núcleo logback 0.9.30

EDIT: presentamos un informe Jira para este - http://jira.qos.ch/browse/LBCLASSIC-307

ACTUALIZACIÓN: 28 de diciembre 2011 Esto está marcado como Mayor, y mirado por Ceki Gulcu. : D

ACTUALIZACIÓN: 12 jun 2012 Todavía no hay actualizaciones. Comentario de la izquierda en JIRA.

ACTUALIZACIÓN: 12 de julio de 2012 Aceptado como un error válido. Para fijar en 1.0.7

Respuesta

2

De acuerdo con la Duration API que usted envió, también se puede utilizar (sin el espacio):

<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

Gracias por el aviso, yepp. –

Cuestiones relacionadas