2016-06-27 29 views
7

Si tratta di un errore nel logback classico o mi manca qualcosa? The documentation è abbastanza esplicito su scanPeriod essere un attributo opzionale:L'attributo scanPeriod è richiesto da logback-classic per l'auto-ricarica per funzionare

Per impostazione predefinita, il file di configurazione verrà sottoposto a scansione per le modifiche una volta ogni minuto.

Tuttavia, dato un file di logback.xml come di seguito:

<?xml version="1.0" encoding="UTF-8"?> 
<configuration debug="true" scan="true" >   
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> 
     <encoder> 
      <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5p %c{1}:%L - %m%n</pattern> 
      <charset>utf8</charset> 
     </encoder> 
    </appender> 
    <root level="WARN"> 
     <appender-ref ref="CONSOLE" /> 
    </root> 
</configuration> 

ottengo il seguente output da logback e scansione non non lavoro.

16:40:56,244 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy] 
16:40:56,244 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml] 
16:40:56,244 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [file:/home/jbochenski/acme/acme-func-test/conf/logback.xml] 
16:40:56,323 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender] 
16:40:56,325 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [CONSOLE] 
16:40:56,331 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property 
16:40:56,354 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to WARN 
16:40:56,355 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [CONSOLE] to Logger[ROOT] 
16:40:56,355 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration. 
16:40:56,356 |-INFO in [email protected] - Registering current configuration as safe fallback point 

Tuttavia, se mi limito a cambiare la configurazione per aggiungere scanPeriod attributo <configuration debug="true" scan="true" scanPeriod="1 minute"> si inizia a lavorare:

16:43:44,584 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy] 
16:43:44,585 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml] 
16:43:44,585 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [file:/home/jbochenski/acme/acme-func-test/conf/logback.xml] 
16:43:44,686 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - Will scan for changes in [file:/home/jbochenski/acme/acme-func-test/conf/logback.xml] 
16:43:44,686 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - Setting ReconfigureOnChangeTask scanning period to 1 minutes 
16:43:44,688 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender] 
16:43:44,691 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [CONSOLE] 
16:43:44,700 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property 
16:43:44,727 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to WARN 
16:43:44,727 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [CONSOLE] to Logger[ROOT] 
16:43:44,727 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration. 
16:43:44,728 |-INFO in [email protected] - Registering current configuration as safe fallback point 

Usando:

  • logback-classic: 1.1.7
  • slf4j: 1.7. 13

risposta

8

UPDATE: Vedere LOGBACK-1194


Questo appare infatti come un insetto logback, e vi consiglio di deposito di un problema in JIRA.

In 1.1.7, alcuni refactoring was done influiscono sul modo in cui viene gestito lo scanPeriod. Le modifiche includevano abandoning the scan option altogether when no scanPeriod is specified. Non penso che sia stato intenzionale.

+0

Fatto: http://jira.qos.ch/browse/LOGBACK-1194 Potete aggiornare la risposta con il link per motivi di completezza? –

+0

@JakubBochenski fatto – tony19

+0

Sto usando la versione 1.2.3 e sembra ancora rotto, sfortunatamente. – matsa