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.
Este passo a passo demonstra como criar um ouvinte de log personalizado e configurá-lo para ouvir a saída do My.Application.Log
objeto.
Introdução
Ouvintes de log devem herdar da classe TraceListener.
Para criar o ouvinte
Em seu aplicativo, crie uma classe chamada
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 de dados.O atributo HostProtectionAttribute é aplicado aos métodos Write e WriteLine para que seus atributos correspondam aos métodos da classe base. O atributo HostProtectionAttribute permite que o host que executa o código determine que o código revela sincronização para proteção do host.
Observação
O HostProtectionAttribute atributo só é eficaz em aplicativos não gerenciados que hospedam o common language runtime e que implementam a proteção de host, como o SQL Server.
Para garantir que o My.Application.Log
use o ouvinte de log, você deve nomear fortemente o assembly que contém o ouvinte de log.
O procedimento seguinte fornece algumas etapas simples para criar um assembly de ouvinte de log de nome forte. Para obter mais informações, consulte Criando e usando assemblies de nomes fortes.
Para nomear fortemente o assembly de ouvinte de log
Selecione um projeto no Gerenciador de Soluções. No menu Projeto , escolha Propriedades.
Clique na guia Assinatura .
Marque a caixa Assinar o assembly.
Selecione <Novo> da lista suspensa Escolha um arquivo de chave de nome forte.
A caixa de diálogo Criar Chave de Nome Forte é aberta.
Forneça um nome para o arquivo de chave na caixa nome do arquivo de chave.
Insira uma senha nas caixas Inserir senha e Confirmar senha .
Clique em OK.
Recompile o aplicativo.
Adicionando o ouvinte
Agora que o assembly tem um nome forte, você precisa determinar o nome forte do ouvinte para que My.Application.Log
use seu ouvinte de log.
O formato de um tipo de nome forte é o seguinte.
<nome do tipo>, <nome do assembly>, <número de versão>, <cultura>, <nome forte>
Para determinar o nome forte do ouvinte
O código a seguir mostra como determinar o tipo de nome forte de
SimpleListener
.Public Sub DisplaySimpleListenerStrongName() Dim t As Type = GetType(SimpleListener) MsgBox(t.FullName & ", " & t.Assembly.FullName) End Sub
O nome forte do tipo depende de seu projeto.
Com o nome forte, você pode adicionar o ouvinte à coleção de ouvintes de log My.Application.Log
.
Para adicionar o ouvinte a My.Application.Log
Clique com o botão direito do mouse em app.config no Gerenciador de Soluções e escolha Abrir.
- ou -
Se houver um arquivo app.config:
No menu Projeto , escolha Adicionar Novo Item.
Na caixa de diálogo Adicionar Novo Item , escolha Arquivo de Configuração do Aplicativo.
Clique em Adicionar.
Localize a seção
<listeners>
, na seção<source>
com oname
atributo "DefaultSource", localizado na seção<sources>
. A seção<sources>
está localizada na seção<system.diagnostics>
, na seção de nível superior<configuration>
.Adicione este elemento à
<listeners>
seção:<add name="SimpleLog" />
Localize a seção
<sharedListeners>
, na seção<system.diagnostics>
, na seção superior de nível<configuration>
.Adicione este elemento a essa
<sharedListeners>
seção:<add name="SimpleLog" type="SimpleLogStrongName" />
Altere o valor de
SimpleLogStrongName
para que seja o nome forte do ouvinte.