HOW TO: Scrivere in un registro eventi utilizzando C# .NET

Traduzione articoli Traduzione articoli
Identificativo articolo: 307024 - Visualizza i prodotti a cui si riferisce l?articolo.
Questo articolo è stato precedentemente pubblicato con il codice di riferimento I307024
Espandi tutto | Chiudi tutto

In questa pagina

Sommario

In questo articolo viene illustrato come aggiungere voci personalizzate al registro eventi del sistema operativo utilizzando Microsoft .NET Framework.

Requisiti

Nell'elenco che segue vengono descritti l'hardware, il software, l'infrastruttura di rete e i Service Pack necessari:
  • Microsoft Windows 2000 Professional, Windows 2000 Server, Windows 2000 Advanced Server o Windows NT 4.0 Server.
  • Microsoft Visual Studio .NET.

Scrivere in un registro eventi

La registrazione degli eventi rappresenta un metodo centralizzato standard tramite cui le applicazioni sono in grado di registrare eventi hardware e software importanti. Windows fornisce un'interfaccia utente standard per visualizzare i registri denominata Visualizzatore eventi. Utilizzando il componente run-time EventLog del linguaggio comune, è possibile accedere facilmente ai vari registri eventi esistenti sia nei computer locali che in computer remoti per aggiungervi delle voci. È anche possibile leggere le voci presenti nei registri esistenti e creare registri eventi personalizzati. Nella sua forma più semplice, la scrittura in un registro eventi prevede solo qualche passaggio per creare un'applicazione di esempio:
  1. Aprire Visual Studio .NET.
  2. Creare una nuova applicazione console in Microsoft C#. Visual C# .NET crea una classe pubblica assieme a un metodo Main() vuoto.
  3. Assicurarsi che il progetto contenga almeno un riferimento a System.dll.
  4. Utilizzare l'istruzione using negli spazi dei nomi System e System.Diagnostics in modo che in seguito non sia più necessario qualificare dichiarazioni provenienti da questi spazi dei nomi nel codice. Queste istruzioni devono essere utilizzate prima di qualsiasi altra dichiarazione.
    using System;
    using System.Diagnostics;
  5. Per scrivere in un registro eventi è necessario disporre di varie informazioni: il messaggio, il nome del registro in cui scrivere (che verrà creato se non esiste già) e una stringa che rappresenta l'origine dell'evento. È possibile registrare una sola origine per ogni registro eventi, pertanto se si desidera scrivere messaggi in più registri eventi sarà necessario definire più origini.
    string sSource;
    string sLog;
    string sEvent;
    
    sSource = "dotNET Sample App";
    sLog = "Application";
    sEvent = "Sample Event";
  6. Ottenute tutte queste informazioni, è necessario per prima cosa utilizzare due metodi statici della classe EventLog per verificare se l'origine esiste. In caso negativo, creare l'origine associata a un particolare registro eventi. Se il nome del registro specificato non esiste, verrà creato automaticamente al momento in cui viene scritta la prima voce al proprio interno. Se non viene fornito alcun nome di registro nel metodo CreateEventSource , verrà utilizzato per impostazione predefinita il Registro applicazione.
    if (!EventLog.SourceExists(sSource))
    	EventLog.CreateEventSource(sSource,sLog);
  7. Per scrivere un messaggio in un registro eventi è possibile utilizzare il metodo statico EventLog.WriteEntry, che presenta diverse versioni di overload. Nel codice riportato di seguito sono illustrati il metodo più semplice, che assume una stringa di origine e il relativo messaggio, e il metodo più complesso che supporta la specifica dell'ID evento e del tipo evento.
    EventLog.WriteEntry(sSource,sEvent);
    EventLog.WriteEntry(sSource, sEvent, EventLogEntryType.Warning,  234);
  8. Salvare e quindi eseguire il codice e infine verificare il Registro applicazione nel Visualizzatore eventi per visualizzare i nuovi eventi.

Elenco completo del codice

using System;
using System.Diagnostics;

namespace WriteToAnEventLog_csharp
{
	/// <summary>
	/// Summary description for Class1.
	/// </summary>
	class Class1
	{
		static void Main(string[] args)
		{
			string sSource;
			string sLog;
			string sEvent;

			sSource = "dotNET Sample App";
			sLog = "Application";
			sEvent = "Sample Event";

			if (!EventLog.SourceExists(sSource))
				EventLog.CreateEventSource(sSource,sLog);

			EventLog.WriteEntry(sSource,sEvent);
			EventLog.WriteEntry(sSource, sEvent,
				EventLogEntryType.Warning, 234);
		}
	}
}
<BR/>
<BR/>



Proprietà

Identificativo articolo: 307024 - Ultima modifica: martedì 8 aprile 2003 - Revisione: 1.0
Le informazioni in questo articolo si applicano a
  • Microsoft Visual C# .NET 2002 Standard Edition
Chiavi: 
kbhowto kbhowtomaster KB307024
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com