Stiamo migrando al logback da log4j per diverse app Web. Nel arresto della nostra applicazione che attualmente chiamiamo:Devo scaricare eventi durante lo spegnimento utilizzando il logback?
org.apache.log4j.LogManager.shutdown();
che dovrebbe irrigare tutta la registrazione asincrona e chiudere tutte le risorse esterne (file, socket).
C'è qualcosa di simile nel logback o in qualche modo si scarica automaticamente all'arresto?
Mike
Domanda interessante - non avevo mai davvero pensato a questo. Dal momento che devi configurare in modo esplicito log4j sull'output del buffer, avrei pensato che in quel caso lo shutdown avrebbe dovuto essere chiamato. Credo che i buffer slf4j di default, però. –
si ripristina dopo ogni istruzione di registro, quindi non è necessario effettuare una chiamata esplicita() a meno che non si stia facendo qualcosa di funky. –
@DavidRoussel Quella dichiarazione mi ha fatto cercare [Logback Appenders] (http://logback.qos.ch/manual/appenders.html). Infatti: _Per impostazione predefinita, ogni evento di registro viene immediatamente svuotato al flusso di output sottostante. Questo approccio predefinito è più sicuro, nel senso che gli eventi di registrazione non vengono persi nel caso in cui l'applicazione venga chiusa senza chiudere correttamente gli appendici. Tuttavia, per un significativo incremento della velocità di registrazione, è possibile impostare la proprietà immediateFlush dell'encoder sottostante su false. Gli encoder e, in particolare, LayoutWrappingEncoder sono descritti in un capitolo a parte. –