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
SimpleListenerque 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 ClassOs métodos Write e WriteLine, exigidos pela classe base, chamam
MsgBoxpara 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 SubO 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 onameatributo "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
SimpleLogStrongNamepara que seja o nome forte do ouvinte.