Veja como usufruir de mais esta facilidade disponível nas aplicação Magic xpa, através de sua integração nativa com o MS.NET Framework
Em frequentes postagens temos destacado benefícios que a integração nativa do Magic xpa com o MS.NET Framework pode trazer às aplicações/soluções desenvolvidas na plataforma, e este, é mais um exemplo.
Em qualquer solução criada, seja de “aplicação” ou “integração”, o bom sistema de logs é fundamental.
Rastrear o que está sendo feito pelo sistema é essencial para poder compreender, posteriormente, porque uma determinado evento ocorreu ou porque uma decisão foi tomada daquela maneira.
E não se trata apenas de apoio ao suporte. Mas também coleta e análise recorrente do desempenho da solução.
O Windows possui um sistema nativo e padronizado de registro de logs, que pode ser acessado pelo Event Viewer.
E possui uma API, encapsulada em classes .NET, para que qualquer aplicação possa acessá-lo para ler ou gravar informações. É a classe EventLog.
Para utilizá-lo nas aplicações Magic xpa, primeiro temos de adicionar uma referência ao assembly System:
Esta interface é tão simples, que os principais recursos estão disponíveis como métodos estáticos da classe, o que nos libera de ter de instanciar um objeto dela (para as tarefas que queremos aqui exemplificar).
Começamos definindo duas informações importantes:
- Classe do Evento: que possui alguns valores pré-definidos e na maioria dos casos, como aqui, será: Application
- Fonte do Evento: que é um nome livre, e deve ser capaz de identificar a nossa aplicação no meio das demais
Como o sistema de logs é um serviço, em teria ele pode estar desativado. Então nosso código inicial é checar se de fato temos um sistema ativo para utilizar:
DotNet.System.Diagnostics.EventLog.Exists( Trim( <ClasseEventos> ) )
Se está OK, registramos nossa fonte de eventos (se já não estiver registrada):
DotNet.System.Diagnostics.EventLog.CreateEventSource( Trim( <FonteEvento> ), Trim( <ClasseEventos> ) )
E escrevemos uma mensagem do tipo Information, no TaskPrefix do programa:
DotNet.System.Diagnostics.EventLog.WriteEntry( Trim( <FonteEvento> ), 'Task Prefix de: ' & Prog(), DotNet.System.Diagnostics.EventLogEntryType.Information, 65000, 0 )
Nosso programa exemplo tem um botão centralizado na sua tela, que a cada vez que é clicado ele dispara um evento, encarregado de escrever uma mensagem do tipo Error:
DotNet.System.Diagnostics.EventLog.WriteEntry( Trim( <FonteEvento> ), Trim( <Mensagem> ), DotNet.System.Diagnostics.EventLogEntryType.Error, 65000, 0 )
E quando o programa finaliza, escrevemos uma mensagem do tipo Warning, no TaskSuffix do programa:
DotNet.System.Diagnostics.EventLog.WriteEntry( Trim( D ), 'Task Suffix de: ' & Prog(), DotNet.System.Diagnostics.EventLogEntryType.Warning, 65000, 0 )
E é isso! É fácil assim mesmo…
Executando nosso exemplo e dando alguns cliques no botão, teremos um resultado semelhante a este:
Baixa agora um projeto exemplo Magic xpa 3.3x deste endereço, e usufrua de mais esta facilidade Magic.
Para receber os artigos do Blog Magic Brasil em primeira mão no seu email, registre-se aqui