Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Annotazioni
Questo articolo non si applica ai servizi ospitati in .NET. Per il contenuto più recente nei servizi Windows che usano Microsoft.Extensions.Hosting.BackgroundService e il modello di servizio di lavoro, vedere:
Per impostazione predefinita, tutti i progetti di servizio Windows possono interagire con il registro eventi dell'applicazione e scrivere informazioni ed eccezioni. Usare la AutoLog proprietà per indicare se si vuole usare questa funzionalità nell'applicazione. Per impostazione predefinita, la registrazione è attivata per qualsiasi servizio creato con il modello di progetto del servizio Windows. È possibile usare un formato statico della EventLog classe per scrivere informazioni sul servizio in un log senza dover creare un'istanza di un EventLog componente o registrare manualmente un'origine.
Il programma di installazione per il servizio registra automaticamente ogni servizio nel progetto come origine valida di eventi con il registro applicazioni nel computer in cui è installato il servizio, quando la registrazione è attivata. Il servizio registra le informazioni ogni volta che il servizio viene avviato, arrestato, sospeso, ripreso, installato o disinstallato. Registra anche eventuali errori che si verificano. Non è necessario scrivere codice per scrivere voci nel log quando si usa il comportamento predefinito; il servizio gestisce automaticamente questa operazione.
Se si vuole scrivere in un registro eventi diverso dal registro applicazioni, è necessario impostare la AutoLog proprietà su false, creare un registro eventi personalizzato all'interno del codice dei servizi e registrare il servizio come origine valida delle voci per tale log. È quindi necessario scrivere codice per registrare le entrate nel registro ogni volta che si verifica un'azione d'interesse.
Annotazioni
Se si usa un registro eventi personalizzato e si configura l'applicazione di servizio per la scrittura, non è necessario tentare di accedere al registro eventi prima di impostare la proprietà del ServiceName servizio nel codice. Il registro eventi richiede il valore di questa proprietà per registrare il servizio come origine valida degli eventi.
Per abilitare la registrazione degli eventi predefinita per il servizio
Impostare la AutoLog proprietà per il componente su
true.Annotazioni
Per impostazione predefinita, questa proprietà è impostata su
true. Non è necessario impostare questa impostazione in modo esplicito, a meno che non si stia creando un'elaborazione più complessa, ad esempio la valutazione di una condizione e quindi l'impostazione della AutoLog proprietà in base al risultato di tale condizione.
Per disabilitare la registrazione degli eventi per il servizio
Impostare la AutoLog proprietà per il componente su
false.AutoLog = false;Me.AutoLog = False
Per configurare la registrazione in un log personalizzato
Impostare la proprietà AutoLog su
false.Annotazioni
È necessario impostare AutoLog su false per usare un log personalizzato.
Configurare un'istanza di un componente EventLog nell'applicazione per il servizio Windows.
Creare un log personalizzato chiamando il CreateEventSource metodo e specificando la stringa di origine e il nome del file di log che si vuole creare.
Impostare la proprietà Source sull'istanza del componente EventLog sulla stringa di origine creata nel passaggio 3.
Scrivere le voci accedendo al metodo nell'istanza WriteEntry del EventLog componente.
Il codice seguente illustra come configurare la registrazione in un log personalizzato.
Annotazioni
In questo esempio di codice un'istanza di un EventLog componente è denominata
eventLog1(EventLog1in Visual Basic). Se è stata creata un'istanza con un altro nome nel passaggio 2, modificare di conseguenza il codice.public UserService2() { eventLog1 = new EventLog(); // Turn off autologging AutoLog = false; // create an event source, specifying the name of a log that // does not currently exist to create a new, custom log if (!EventLog.SourceExists("MySource")) { EventLog.CreateEventSource( "MySource", "MyLog"); } // configure the event log instance to use this source name eventLog1.Source = "MySource"; eventLog1.Log = "MyLog"; }Public Sub New() ' Turn off autologging Me.AutoLog = False ' Create a new event source and specify a log name that ' does not exist to create a custom log If Not System.Diagnostics.EventLog.SourceExists("MySource") Then System.Diagnostics.EventLog.CreateEventSource("MySource", "MyLog") End If ' Configure the event log instance to use this source name EventLog1.Source = "MySource" End Subprotected override void OnStart(string[] args) { // write an entry to the log eventLog1.WriteEntry("In OnStart."); }Protected Overrides Sub OnStart(ByVal args() As String) ' Write an entry to the log you've created. EventLog1.WriteEntry("In Onstart.") End Sub