6.28.2.7 NTEventLogHandler

La classe NTEventLogHandler supporta l'invio di messaggi di logging a un gestore locale di log di Windows NT, Windows 2000 o Windows XP. Prima di poterlo usare, è necessario che le estensioni Win32 per Python di Mark Hammond siano installate.

class NTEventLogHandler( appname[, dllname[, logtype]])
Restituisce una nuova istanza della classe NTEventLogHandler. L'argomento appname viene utilizzato per definire il nome dell'applicazione, ed appare nell'event log. Viene creata una voce di registro appropriata utilizzando questo nome. L'argomento dllname deve indicare un percorso completo e qualificato di una .dll o di un .exe che contenga la definizione del messaggio da inserire nel log (se non specificato, viene utilizzato 'win32service.pyd' - che viene installato con le estensioni Win32, e contiene alcune definizioni di messaggi standard). Notate che l'uso di queste definizioni renderà l'event log interessato di grandi dimensioni, quanto l'intera sorgente del messaggio che verrà inserita nel log. Se desiderate un log più piccolo, passate il nome della vostra .dll o .exe che conterrà la definizione del messaggio che volete usare, nell'event log). Il logtype è uno tra 'Application', 'System' o 'Security', ed il suo valore predefinito viene impostato a 'Application'.

close( )
A questo punto, si può rimuovere il nome dell'applicazione dal registro come sorgente delle registrazioni nel log event. Comunque, se si fa questo, si noterà che non sarà possibile vedere gli eventi come lo si desidera nel visualizzatore degli eventi dei log - che deve essere in grado di accedere al registro per avere il nome della .dll. La versione corrente non fa questo (nei fatti, non fa nulla).

emit( record)
Determina l'ID del messaggio, la categoria di evento e il tipo di evento, e quindi registra il messaggio nel log degli eventi di NT.

getEventCategory( record)
Restituisce la categoria di evento per record. Sostituite questa funzione se volete specificare delle vostre categorie. Questa versione restituisce 0.

getEventType( record)
Restituisce il tipo evento per record. Sostituite questa se desiderate specificare dei vostri tipi. Questa versione effettua una mappatura utilizzando l'attributo typemap dell'handler, impostato a __init__() in un dizionario che contiene le associazioni per INFO, WARNING, ERROR e CRITICAL. Se desiderate utilizzare dei vostri livelli, dovrete necessariamente sostituire questo metodo o inserire un dizionario adatto nell'attributo typemap dell'handler.

getMessageID( record)
Restituisce l'ID del messaggio. Se state usando dei vostri messaggi, potete fare in modo che msg venga trasmesso al logger con un ID assegnato diverso da una stringa di formato. Quindi, in questa situazione, potete utilizzare una ricerca di dizionario per ottenere l'ID del messaggio. Questa versione restituisce 1, che è l'ID del messaggio di base in win32service.pyd.

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