6.28.2 Oggetti Handler

Gli Handler posseggono i seguenti attributi e metodi. Notate che Handler non è mai istanziata direttamente; questa classe si comporta come una base per più utili classi derivate. Comunque, il metodo __init__() in classi derivate ha la necessità di chiamare Handler.__init__().

__init__( level=NOTSET)
Inizializza l'istanza Handler impostando il suo livello, impostando la lista dei filtri a una lista vuota e creando un lock (usando createLock()) per serializzare gli accessi ad un meccanismo di I/O.

createLock( )
Inizializza un lock di thread che può essere usato per serializzare gli accessi alla sottostante funzionalità di I/O che potrebbe essere non threadsafe.

acquire( )
Acquisisce il lock del thread creato con createLock().

release( )
Rilascia il lock del thread acquisito con acquire().

setLevel( lvl)
Imposta il livello di questo handler a lvl. Messaggi di logging meno importanti di lvl verranno ignorati. Quando viene creato un handler, il livello viene impostato a NOTSET (che si occupa di elaborare tutti i messaggi).

setFormatter( form)
Imposta il Formatter per questo handler a form.

addFilter( filt)
Aggiunge lo specifico filtro filt a questo handler.

removeFilter( filt)
Rimuove lo specifico filtro filt da questo handler.

filter( record)
Applica i filtri di questo handler a record e restituisce un valore vero se il record verrà elaborato.

flush( )
Assicura che tutto il risultato del logging sia svuotato. Questa versione non fa nulla ed è intesa per essere implementata da classi derivate.

close( )
Libera ogni risorsa usata dall'handler. Questa versione non fa nulla ed è intesa per essere implementata da classi derivate.

handle( record)
A seconda dei filtri che possono essere stati aggiunti all'handler, emette lo specifico record di logging. Sostituisce l'attuale emissione del record con una acquisizione/rilascio del lock del thread di I/O.

handleError( )
Questo metodo dovrebbe essere chiamato dagli handler quando viene riscontrata un'eccezione durante una chiamata emit(). Il suo comportamento predefinito è non fare niente, il che significa che le eccezioni vengono silenziosamente ignorate. Questo è quanto solitamente si desidera per un sistema di logging - la maggior parte degli utenti non faranno attenzione agli errori nel sistema di logging, ma saranno più interessati agli errori dell'applicazione. Si può comunque, rimpiazzare questo metodo con un handler personale, se lo si desidera.

format( record)
Effettua la formattazione di un record - Se il formatter è impostato, lo si usi. Altrimenti si utilizzi il formatter predefinito del modulo.

emit( record)
Consente a chiunque la utilizzi di registrare lo specifico messaggio di log record. Questa versione viene intesa per essere implementata come classe derivata e quindi solleva un'eccezione NotImplementedError.



Subsections
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.