. . Um dos melhores lugares para colocar logs de aplicativo NET está no log de eventos do Windows que existe em cada computador que usa o Windows . O registro de eventos , de acordo com a Microsoft, dá-lhe a capacidade de armazenar informações importantes sobre a atividade da sua aplicação em um local centralizado. Quando você precisa rever essa informação, você pode fazê-lo manualmente ou por escrever algumas linhas de código que recuperam dados de log de eventos do Windows. Windows Event Viewer
Windows e aplicativos de terceiros escrever no log de eventos do Windows de forma contínua. Ver as entradas de log , digitando "Ferramentas Administrativas" no menu Iniciar e selecione " Visualizador de eventos " para abrir o programa Visualizador de eventos. A pasta de Aplicativos no Visualizador de eventos contém as entradas do log de aplicação. Alguns desenvolvedores podem usar os logs de aplicação para capturar informações sobre erros que ocorrem quando um programa é executado . Outros podem entradas de log que registram eventos críticos , como atualizações de banco de dados . Um dos benefícios do uso de log de eventos do Windows é a flexibilidade que lhe dá ao catalogar informações do evento. Cada registro de log tem campos como EventType , identificação do evento , Mensagem e TimeWritten . Depois de definir esses valores em seu aplicativo, eles aparecem no Visualizador de eventos imediatamente.
Logging Eventos
Você não tem que escrever muito . Código NET para criar uma entrada no log de eventos do Windows . Microsoft. NET como C # tem uma classe especial EventLog que lida com leitura, escrita e até mesmo a eliminação para você. O código a seguir cria uma nova instância da classe EventLog e escreve a palavra " Aviso " para ele : ( ! ( EventLog.SourceExists ( " EventSource1 " , System.Environment.MachineName )))
se EventLog . CreateEventSource ( " EventSource1 ", " Aplicação" , System.Environment.MachineName );
EventLog log1 = new EventLog ( "Application" , System.Environment.MachineName ", EventSource1 ");
log1.WriteEntry ( " Warning1 " , EventLogEntryType.Warning , 10001 ); log1.Close ();
EventLogEntryType.Warning informa ao Windows que você deseja registrar uma mensagem de advertência , cujo valor é 10001 . Se você quiser registrar uma mensagem informativa em vez disso, mudar EventLogEntryType.Warning para EventLogEntryType.Information . Coloque a instrução WriteEntry em locais onde você deseja registrar eventos , e . NET envia suas informações para o log de eventos do Windows.
Reading aplicação Registro de
também é possível ler informações de programação utilizando o código semelhante ao mostrado no exemplo a seguir C #:
EventLog log1 = new EventLog ( "Application" , System.Environment.MachineName );
for (int i = log1.Entries.Count - 1; i < log1.Entries.Count ; i -) { entrada EventLogEntry = log1.Entries [i] ; Console.WriteLine ( entry.EventID + "" + entry.Message + "\\ n" );} log1.Close ();
a primeira linha obtém uma referência para o log do aplicativo , eo código restante percorre o registro e exibe as IDs de eventos e mensagens . Você também pode ver outras propriedades de eventos, como entry.TimeWritten e entry.EntryType . Se você usar o Visual Studio para testar suas . NET, iniciar o programa no modo administrativo antes de executar qualquer código . Isso garante que a sua aplicação tem os privilégios de segurança necessários para acessar o log de eventos do Windows .
Arquivos de texto
Se você preferir não usar o log de eventos do Windows, criar seus próprios arquivos de log e privadas escrever o que quiser com eles usando a classe StreamWriter . NET . Se você usar esse método , você deve escrever o código necessário para recuperar os dados também. Você também perde a capacidade de visualizar informações de log aplicativo rapidamente usando o Visualizador de eventos. Independentemente do método que você usar, lembre-se que você não precisa se registrar eventos de aplicação , a menos que você realmente precisa para registrar erros ou capturar informações que podem ser úteis mais tarde.