Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. 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 objeto My.Application.Log.
Primeiros passos
Os 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 suas entradas.O HostProtectionAttribute atributo é aplicado aos Write métodos e WriteLine para que seus atributos correspondam aos métodos de classe base. O HostProtectionAttribute atributo permite que o host que executa o código determine que o código expõe a sincronização de proteção do host.
Observação
O HostProtectionAttribute atributo é efetivo somente em aplicativos não gerenciados que hospedam o Common Language Runtime e que implementam proteção de host, como o SQL Server.
Para garantir que My.Application.Log usa seu ouvinte de log, você deve nomear fortemente o assembly que contém seu ouvinte de log.
O próximo procedimento fornece algumas etapas simples para criar um assembly de ouvinte de log fortemente nomeado. Para obter mais informações, consulte Criando e usando assemblies de nome forte.
Para atribuir um nome forte à assembly log-listener
Tenha um projeto selecionado no Gerenciador de Soluções. No menu Projeto , escolha Propriedades.
Clique na aba de assinatura .
Selecione a caixa Assinatura da montagem.
Selecione <Novo> na lista suspensa Escolher um ficheiro 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 .
Introduza uma palavra-passe nas caixas Introduzir palavra-passe e Confirmar palavra-passe .
Clique em OK.
Reconstrua a aplicação.
Adicionando o ouvinte
Agora que o assembly tem um nome forte, é necessário determinar o nome forte do ouvinte para que My.Application.Log use o seu ouvinte de log.
O formato de um tipo fortemente nomeado é o seguinte.
<nome do tipo>, <nome do assembly>, <número da versão>, <cultura>, <nome forte>
Para determinar o nome forte do ouvinte
O código a seguir mostra como determinar o nome do tipo fortemente nomeado para
SimpleListener.Public Sub DisplaySimpleListenerStrongName() Dim t As Type = GetType(SimpleListener) MsgBox(t.FullName & ", " & t.Assembly.FullName) End SubO nome forte do tipo depende do seu projeto.
Com o nome forte, você pode adicionar o ouvinte à My.Application.Log coleção log-listener.
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 o atributoname"DefaultSource", localizada na seção<sources>. A seção<sources>está localizada na seção<system.diagnostics>, na seção de nível<configuration>superior.Adicione este elemento à
<listeners>seção:<add name="SimpleLog" />Localize a seção de
<sharedListeners>, na seção de<system.diagnostics>, na seção de nível superior<configuration>.Adicione este elemento a essa
<sharedListeners>seção:<add name="SimpleLog" type="SimpleLogStrongName" />Altere o valor de
SimpleLogStrongNamepara ser o nome forte do ouvinte.