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
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 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 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.
-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
SimpleLogStrongName
para ser o nome forte do ouvinte.