Procedura: creare e rimuovere log eventi personalizzati

Aggiornamento: novembre 2007

È possibile utilizzare la classe EventLog per creare un log eventi personalizzato su un computer locale o remoto. La creazione di un log personalizzato consente di organizzare meglio le voci rispetto alla scrittura di voci eseguita dai componenti nel log Application predefinito. Si supponga ad esempio di disporre del componente OrderEntry che scrive i dati inseriti in un log eventi e di voler eseguire il backup e il salvataggio di queste voci per un periodo di tempo più lungo rispetto ad altre voci incluse nel log Application. Anziché registrare il componente per la scrittura nel log Application, è possibile creare un log personalizzato denominato OrdersLog e registrare il componente per la scrittura di voci in tale log. In questo modo, tutte le informazioni verranno memorizzate in un unico punto e non verranno modificate dopo la cancellazione delle voci nel log Application.

Per creare un log personalizzato, è possibile utilizzare indirettamente il metodo CreateEventSource. Questo metodo crea una nuova origine e consente di specificare il log in cui eseguire la scrittura. Se si indica un log non esistente, verrà creato automaticamente un log personalizzato e il componente verrà registrato come origine per tale log.

Nota:

Un log personalizzato si rimuove in modo analogo a qualsiasi altro log, ovvero chiamando il metodo Delete. Per ulteriori informazioni, vedere Procedura: eliminare i log eventi.

È importante tenere presente la differenza tra la creazione di un log eventi e la creazione di un'istanza del componente EventLog. Quando si utilizza il metodo CreateEventSource, si crea un nuovo log eventi personalizzato in Windows, anziché un componente nel progetto o nell'applicazione in uso. Quando si crea un'istanza del componente EventLog, si crea un componente all'interno del progetto che fa riferimento a un log eventi esterno. Il Visualizzatore eventi consente di visualizzare i log eventi creati con il metodo CreateEventSource, ma non le istanze del componente.

Nota:

In generale, è opportuno creare la nuova origine eventi durante l'installazione dell'applicazione. In questo modo, al sistema operativo viene concesso il tempo di aggiornare l'elenco di origini eventi registrate e la relativa configurazione. Se si tenta di scrivere un evento con la nuova origine quando l'elenco di origini eventi del sistema operativo non è stato aggiornato, l'operazione di scrittura avrà esito negativo. Se non è possibile creare l'origine durante l'installazione, provare a crearla prima dell'esecuzione della prima operazione di scrittura, ad esempio durante l'inizializzazione dell'applicazione. In questo caso, assicurarsi che il codice di inizializzazione sia in esecuzione con i diritti di amministratore sul computer, necessari per la creazione di nuove origini eventi.

È possibile visualizzare i log personalizzati in Esplora server oppure nella finestra Gestione computer di Windows 2000. Per ulteriori informazioni, vedere Procedura: utilizzare i log eventi in Esplora server o Procedura: avviare il Visualizzatore eventi da Esplora server.

Per creare ed eliminare log sui computer remoti, è necessario disporre dei diritti di accesso appropriati. Per ulteriori informazioni, vedere Protezione e tipi di accesso ai log eventi.

Nota sulla sicurezza:

Quando si crea un log eventi, si consideri che la risorsa potrebbe essere già presente. Un altro processo, magari dannoso, potrebbe avere già creato la risorsa e potrebbe essere in grado di accedervi. Le informazioni inserite nel log eventi diventano disponibili ad altri processi. Per informazioni sui log eventi esistenti, vedere Procedura: determinare l'esistenza di log eventi specifici.

Per creare un log eventi personalizzato

  • Chiamare il metodo CreateEventSource e specificare la stringa di origine e il nome del file di log da creare.

    Nota:

    Se si specifica un valore Null ("") per il nome del log, verrà utilizzata l'impostazione predefinita Application. In questo modo non viene creato un nuovo log ma viene registrata l'origine specificata per il log Application. Se si crea un nuovo log, per determinare l'univocità del nome verranno valutate solo le prime otto lettere.

    Nell'esempio riportato di seguito viene illustrato come creare un log personalizzato denominato MyNewLog nel computer locale. Nel codice si presuppone che esista un'istruzione Imports o using per lo spazio dei nomi System.Diagnostics:

    EventLog.CreateEventSource("ApplicationName", "LogName")
    
         System.Diagnostics.EventLog.CreateEventSource("ApplicationName", "LogName");
    

    Per creare un log eventi personalizzato in un computer remoto, specificare il nome del computer come terzo parametro. Il codice che segue fornisce un esempio in proposito.

    Dim creationData As New EventSourceCreationData("ApplicationName", "LogName")
    creationData.MachineName = "ServerName"
    EventLog.CreateEventSource(creationData)
    
         System.Diagnostics.EventSourceCreationData creationData = new
                System.Diagnostics.EventSourceCreationData("ApplicationName", "LogName");
            creationData.MachineName = "ServerName";
            EventLog.CreateEventSource(creationData);
    

Vedere anche

Attività

Procedura: eliminare i log eventi

Procedura: utilizzare i log eventi in Esplora server

Procedura: avviare il Visualizzatore eventi da Esplora server

Concetti

Protezione e tipi di accesso ai log eventi

Introduzione al componente EventLog

Riferimenti

EventLog

Altre risorse

Gestione dei log eventi