Passo a passo: Criando ouvintes de log personalizados (Visual Basic)
Este passo a passo demonstra como criar um ouvinte de log personalizado e configurá-lo para ouvir a My.Application.Log
saída do objeto.
Introdução
Os ouvintes de log devem herdar da TraceListener classe.
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 Write métodos and WriteLine , exigidos pela classe base, chamam
MsgBox
para exibir sua entrada.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.
Nota
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 nomear fortemente o assembly log-listener
Tenha um projeto selecionado no Gerenciador de Soluções. No menu Projeto, escolha Propriedades.
Clique na guia Assinatura .
Selecione a caixa Assinar a montagem .
Selecione <Novo> na 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.
Introduza uma palavra-passe nas caixas Introduzir palavra-passe e Confirmar palavra-passe .
Clique em OK.
Reconstrua 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
ele use 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 Sub
O 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.
-or-
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
<listeners>
<source>
seção, na seção com oname
atributo "DefaultSource", localizado na<sources>
seção . A<sources>
seção está localizada na<system.diagnostics>
seção de nível<configuration>
superior.Adicione este elemento à
<listeners>
seção:<add name="SimpleLog" />
Localize a
<sharedListeners>
seção, na<system.diagnostics>
seção , na seção de nível<configuration>
superior.Adicione este elemento a essa
<sharedListeners>
seção:<add name="SimpleLog" type="SimpleLogStrongName" />
Altere o valor de
SimpleLogStrongName
para ser o nome forte do ouvinte.