Condividi tramite


Procedura: scrivere voci nei log eventi

Aggiornamento: novembre 2007

Quando si scrive una voce nel log eventi, il messaggio da scrivere nel log viene specificato come stringa. Un messaggio deve contenere tutte le informazioni necessarie per interpretare la causa del problema e apportare le correzioni necessarie.

La scrittura di voci nel log può essere eseguita in due modi ugualmente validi. Il modo più diretto consiste nel registrare un'origine eventi nel log in cui si desidera eseguire la scrittura, creare un'istanza di un componente e impostarne la proprietà Source su tale log, quindi chiamare il metodo WriteEntry. In questo modo non è necessario impostare la proprietà Log per l'istanza del componente, poiché il log viene determinato automaticamente alla connessione con un'origine già registrata. Per ulteriori informazioni sulla registrazione di un'origine, vedere Procedura: aggiungere l'applicazione come origine delle voci del log eventi.

L'altro modo consiste nel creare un'istanza di un componente EventLog, impostarne le proprietà Source, MachineName e Log, quindi chiamare il metodo WriteEntry. In questo caso, il metodo WriteEntry determina se l'origine è già esistente e, in caso contrario, la registra immediatamente.

Per scrivere una voce del log in modo corretto, è necessario che vengano soddisfatte le condizioni seguenti:

  • L'origine deve essere registrata nel log desiderato.

    Nota:

    Per poter scrivere voci in un log, è necessario impostare la proprietà Source sull'istanza del componente EventLog. Al momento della scrittura di una voce, viene eseguito un controllo automatico per verificare se l'origine specificata è registrata nel log eventi in cui il componente esegue la scrittura e, se necessario, viene effettuata la chiamata a CreateEventSource. 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.

  • La dimensione del messaggio specificato non può superare i 16 KB.

  • L'applicazione inoltre deve disporre dell'accesso in scrittura al log in cui sta tentando di inserire le voci. Per ulteriori informazioni, vedere Protezione e tipi di accesso ai log eventi.

Al momento della scrittura è possibile specificare alcuni parametri tra cui il tipo di voce, l'ID che identifica l'evento, la categoria e i dati binari che si desidera aggiungere alla voce.

Per scrivere una voce nel log eventi

  1. Creare un'istanza di un componente EventLog. Per ulteriori informazioni, vedere Procedura: creare istanze del componente EventLog.

  2. Utilizzare il metodo CreateEventSource per registrare un'origine eventi con il log in cui si desidera scrivere una voce, utilizzando una stringa univoca come stringa di origine. Impostare la proprietà Source per il componente sull'origine registrata. Per ulteriori informazioni, vedere Procedura: configurare istanze del componente EventLog. Chiamare il metodo WriteEntry per specificare la voce da scrivere nel log.

    If Not EventLog.SourceExists("MyApp1") Then
        EventLog.CreateEventSource("MyApp1", "Application")
    End If
    EventLog1.Source = "MyApp1"
    EventLog1.WriteEntry("This is a simple event log entry")
    
         if (!System.Diagnostics.EventLog.SourceExists("MyApp1"))
                System.Diagnostics.EventLog.CreateEventSource(
                   "MyApp1", "Application");
    
            EventLog1.Source = "MyApp";
            EventLog1.WriteEntry("This is a simple event log entry");
    

Per scrivere una voce nel log eventi localizzato

  1. Creare un'istanza di un componente EventLog. Per ulteriori informazioni, vedere Procedura: creare istanze del componente EventLog.

  2. Per scrivere voci nel log eventi localizzato, utilizzare il metodo WriteEvent. In tal caso, specificare le proprietà degli eventi utilizzando identificatori di risorsa anziché valori di stringa. Gli identificatori di risorsa sono utilizzati nel Visualizzatore eventi per visualizzare le stringhe corrispondenti dal file di risorse localizzato per l'origine. È necessario registrare l'origine con il file di risorse corrispondente prima di scrivere gli eventi tramite identificatori di risorse. Per informazioni sulla registrazione di un file di risorse, vedere Classe EventSourceCreationData.

    If Not EventLog.SourceExists("MyApp1") Then
        EventLog.CreateEventSource("MyApp1", "Application")
    End If
    EventLog1.Source = "MyApp1"
    EventLog1.WriteEvent(New EventInstance(1, 1), New String() {"message"})
    
         if (!System.Diagnostics.EventLog.SourceExists("MyApp1"))
                System.Diagnostics.EventLog.CreateEventSource(
                   "MyApp1", "Application");
    
            EventLog1.Source = "MyApp";
            EventLog1.WriteEvent(new System.Diagnostics.EventInstance(1, 1), new string[] { "message" });
    

Vedere anche

Attività

Procedura: configurare istanze del componente EventLog

Procedura: creare istanze del componente EventLog

Procedura: aggiungere l'applicazione come origine delle voci del log eventi

Procedura dettagliata: esplorazione di log eventi, origini eventi e voci

Concetti

Introduzione al componente EventLog

Riferimenti

EventLog