Demonstra Passo a passo: Criando ouvintes de log personalizado
Esta explicação passo a passo demonstra como criar um ouvinte de log personalizado e configurá-lo para ouvir a saída do objeto My.Application.Log.
Guia de Introdução
Ouvintes do log devem herdar da classe TraceListener.
Para criar o ouvinte
Em seu aplicativo, crie uma classe denominada SimpleListener que herda de TraceListener.
Public Class SimpleListener Inherits System.Diagnostics.TraceListener <Security.Permissions.HostProtection(Synchronization:=True)> _ Public Overloads Overrides Sub Write(ByVal message As String) MsgBox("Write: " & message) End Sub <Security.Permissions.HostProtection(Synchronization:=True)> _ Public Overloads Overrides Sub WriteLine(ByVal message As String) MsgBox("WriteLine: " & message) End Sub End Class
Os métodos Write e WriteLine, exigidos pela classe base, chamam MsgBox para exibir sua entrada.
O atributo HostProtectionAttribute é aplicado aos métodos Write e WriteLine para que seus atributos coincidam com os métodos classe base.O atributo HostProtectionAttribute permite que o host que executa o código determine que o código expõe a sincronização de proteção de host.
Observação: O HostProtectionAttribute atributo é efetivo somente em aplicativos não gerenciados que hospedam o common linguagem tempo de execução e que implementam proteção de host, sistema autônomo o SQL servidor.
Para garantir que My.Application.Log use seu ouvinte de log, você deve nomear com alta segurança o assembly que contém o ouvinte de log.
O próximo procedimento fornece algumas etapas simples para criar um assembly com ouvinte de log nomeado com alta segurança.Para obter mais informações, consulte Criando e usando Assemblies de Nome Forte.
Para nomear com alta segurança o assembly com ouvinte de log
Tenha um projeto selecionado no Solution Explorer.No menu Project, escolha Properties.Para obter mais informações, consulte Introdução ao Project Designer.
Clique na guia Signing.
Marque a caixa Sign the assembly.
Selecione <New> a partir de Choose a strong name key file
A caixa de diálogo Create Strong Name Key é aberta.
Forneça um nome para o arquivo chave na caixa Key file name.
Insira uma senha nas caixas Enter password e Confirm password.
Clique em OK.
Recrie o aplicativo.
Adicionando o ouvinte
Agora que o assembly tem um nome de alta segurança, você precisará determinar o nome de alta segurança do ouvinte para que My.Application.Log use seu ouvinte de log.
O formato de um tipo nomeado com alta segurança é o seguinte.
<type name>, <assembly name>, <version number>, <culture>, <strong name>
Para determinar o nome do ouvinte de alta segurança
O código a seguir mostra como determinar o nome do tipo nomeado com alta segurança para SimpleListener.
Public Sub DisplaySimpleListenerStrongName() Dim t As Type = GetType(SimpleListener) MsgBox(t.FullName & ", " & t.Assembly.FullName) End Sub
O nome do tipo de alta segurança depende do seu projeto.
Com o nome de alta segurança, você pode adicionar o ouvinte para a coleção My.Application.Log de ouvinte de log.
Para adicionar o ouvinte a My.Application.Log
Clique com o botão direito do mouse no App.config em Solution Explorer e escolha Open.
- ou -
Se não houver um arquivo App.config:
No menu Project, escolha Add New Item.
No caixa de diálogo Add New Item escolha Application Configuration File.
Clique em Adicionar.
Localize a seção <listeners>, na seção <source> com o atributo name como "DefaultSource", na seção <sources>.A seção <sources> é localizada na seção <system.diagnostics>, na seção de nível superior <configuration>.
Adicione esse elemento à seção <listeners>.
<add name="SimpleLog" />
Localize a seção <sharedListeners>, na seção <system.diagnostics>, na seção de nível superior <configuration>.
Adicione esse elemento à seção <sharedListeners>.
<add name="SimpleLog" type="SimpleLogStrongName" />
Altere o valor de SimpleLogStrongName para ser o nome forte do ouvinte.
Consulte também
Tarefas
Como: Log Exceptions in Visual Basic
Demonstra Passo a passo: Alterando onde My.aplicativo.log grava informações
Conceitos
Trabalhando com logs de aplicativos em Visual Basic