Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Observação
Este artigo não se aplica aos serviços hospedados no .NET. Para obter o conteúdo mais recente dos serviços Windows usando Microsoft.Extensions.Hosting.BackgroundService e o modelo do Serviço de Trabalho, consulte:
Por padrão, todos os projetos do Serviço Windows têm a capacidade de interagir com o log de eventos do aplicativo e gravar informações e exceções nele. Você usa a AutoLog propriedade para indicar se deseja essa funcionalidade em seu aplicativo. Por padrão, o log é ativado para qualquer serviço criado com o modelo de projeto Windows Service. Você pode usar uma forma estática da EventLog classe para gravar informações de serviço em um log sem precisar criar uma instância de um EventLog componente ou registrar manualmente uma origem.
O instalador do serviço registra automaticamente cada serviço no seu projeto como uma fonte válida de eventos no Log do Aplicativo do computador onde o serviço está instalado, quando o registro em log está ativado. O serviço registra informações sempre que o serviço é iniciado, parado, pausado, retomado, instalado ou desinstalado. Ele também registra todas as falhas que ocorrem. Você não precisa escrever nenhum código para gravar entradas no log ao usar o comportamento padrão; o serviço lida com isso automaticamente.
Se você quiser gravar em um log de eventos diferente do log de Aplicativos, deverá definir a propriedade AutoLog para false, criar seu próprio log de eventos personalizado em seu código de serviço e registrar seu serviço como uma fonte válida de entradas para esse log. Em seguida, você deve escrever código para registrar entradas no log sempre que uma ação em que você estiver interessado ocorrer.
Observação
Se você usar um log de eventos personalizado e configurar seu aplicativo de serviço para gravar nele, não deverá tentar acessar o log de eventos antes de definir a propriedade do serviço ServiceName em seu código. O log de eventos precisa do valor dessa propriedade para registrar seu serviço como uma fonte válida de eventos.
Para habilitar o log de eventos padrão para seu serviço
Defina a AutoLog propriedade do componente como
true.Observação
Por padrão, essa propriedade é definida como
true. Você não precisa definir isso explicitamente, a menos que esteja criando um processamento mais complexo, como avaliar uma condição e, em seguida, definir a AutoLog propriedade com base no resultado dessa condição.
Para desabilitar o log de eventos para seu serviço
Defina a AutoLog propriedade do componente como
false.AutoLog = false;Me.AutoLog = False
Para configurar o registro em log em um log personalizado
Defina a propriedade AutoLog como
false.Observação
Você deve definir AutoLog como false para usar um log personalizado.
Configure uma instância de um componente EventLog em seu aplicativo do Serviço do Windows.
Crie um log personalizado chamando o CreateEventSource método e especificando a cadeia de caracteres de origem e o nome do arquivo de log que você deseja criar.
Defina a Source propriedade na instância do componente EventLog como a cadeia de caracteres de origem que você criou na etapa 3.
Escreva suas entradas acessando o método WriteEntry na instância do componente EventLog.
O código a seguir mostra como configurar o registro em um log personalizado.
Observação
Neste exemplo de código, uma instância de um EventLog componente é nomeada
eventLog1(EventLog1no Visual Basic). Se você criou uma instância com outro nome na etapa 2, altere o código adequadamente.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