Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

RSS iMasters

[Resolvido] Escrevendo no EventView

Recommended Posts

Olá pessoal,

 

Neste artigo eu gostaria de mostrar e falar um pouco sobre como escrever log no event view do Windows, usando a linguagem C#.NET. São dois métodos simples. É basicamente criar um novo item junto do event view, ficando assim mais um item na tela de evento.

 

 

Itens utilizados:

  • Linguagem C#.NET

  • Ferramenta: Visual Studio .NET

  • Tipo da plataforma: Classe geral

Figura 1.

 

37359.png

 

O item marcado como Transferir Arquivos foi criado pelo código. Então vamos lá!

 

O primeiro método chamado EscreverLog passa quatro parâmetros do tipo string e EventLogEntryType.

 

No caso deste artigo, vou mostrar o método que verifica se foi passado o nome do diretório (Transferir Arquivos). Por exemplo, se não for passado o nome do diretório, o log será gravado dentro do item (Aplicativo) conforme mostrado na figura 1.

 

Code 1.

 

 public static void EscreverLog(string source, string logName, string message, EventLogEntryType type)

{

if (String.IsNullOrEmpty(source))

{

throw (new ArgumentException(Resources.NullOrEmptyValue, "source"));

}

 

if (String.IsNullOrEmpty(message))

{

throw (new ArgumentException(Resources.NullOrEmptyValue, "message"));

}

 

EventLogWriter.VerificaDiretorio(source, logName);

 

EventLog.WriteEntry(source, message, type);

}Noteque na penúltima linha existe um método chamado VerificaDiretorio (source, logName). Esse método verifica se astring logName é igual a null.

 

Se forigual a null, ele grava o log dentro do item Application ou Aplicativo. Se não for igual a null, ele cria um item (como se fosse um diretório) dentro doevent view de acordo com o nome passado.  O código 2 mostra como é feito.

 

Code 2.

 

private static void VerificaDiretorio(string source, string logName)

       {

            if (String.IsNullOrEmpty(logName))

            {

                logName = "Application";

            }

 

            if (!EventLog.SourceExists(source))

            {

                EventSourceCreationData sourceData = new EventSourceCreationData(source, logName);

 

                EventLog.CreateEventSource(sourceData);

            }

        }Crieium outro método público chamado EscreverErrocom apenas dois parâmetros de entrada, isso significa que, o evento serágravado dentro do item padrão do event view. Ele não cria um novo item, apenasregistra. Com estes métodos você pode usar um ou outro dependendo da suanecessidade.

 

Code 3.

 

 public static void EscreverErro(string source, string message)

 

{

 

EventLogWriter.Write(source, null, message, EventLogEntryType.Error);

 

}Lembre-seque no código 1, o último parâmetro é do tipo EventLogEntryTypeque identifica o ícone de registro.  Outra dica importante é colocar no início dasua classe o using System.Diagnostics.É necessário para entender o EventLogEntry.

 

37359.png

 

Esperoque tenham gostado desta forma de escrita do log no event view do Windows usando linguagem C#.NET.

 

Qualquer dúvida pode entrar em contato, ou deixe suas impressões e testes no espaço abaixo para comentários.

 

Até à próxima!

 

 

 

http://imasters.com.br/artigo/21162/dotnet/escrevendo-no-eventview

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.