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.
Você pode usar os objetos My.Application.Log
e My.Log
para registrar informações sobre eventos que ocorrem em seu aplicativo. Este passo a passo mostra como substituir as configurações padrão e fazer com que o objeto Log
grave em outros ouvintes de log.
Pré-requisitos
O Log
objeto pode gravar informações em vários registradores de log. Você precisa determinar a configuração atual dos ouvintes de log antes de alterar as configurações. Para obter mais informações, consulte Passo a passo: determinando onde My.Application.Log grava informações.
Talvez você queira examinar Como gravar informações de evento em um arquivo de texto ou como gravar em um log de eventos do aplicativo.
Para adicionar ouvintes
Clique com o botão direito do mouse app.config no Gerenciador de Soluções e escolha Abrir.
- ou -
Se não houver nenhum arquivo app.config:
No menu Projeto , escolha Adicionar Novo Item.
Na caixa de diálogo Adicionar Novo Item , selecione Arquivo de Configuração do Aplicativo.
Clique em Adicionar.
Localize a seção
<listeners>
, na seção<source>
com oname
atributo "DefaultSource", na seção<sources>
. A seção<sources>
está na seção<system.diagnostics>
, na parte superior da seção<configuration>
.Adicione esses elementos a essa
<listeners>
seção.<!-- Uncomment to connect the application file log. --> <!-- <add name="FileLog" /> --> <!-- Uncomment to connect the event log. --> <!-- <add name="EventLog" /> --> <!-- Uncomment to connect the event log. --> <!-- <add name="Delimited" /> --> <!-- Uncomment to connect the XML log. --> <!-- <add name="XmlWriter" /> --> <!-- Uncomment to connect the console log. --> <!-- <add name="Console" /> -->
Remova a marca de comentário dos ouvintes de log que você deseja receber mensagens de
Log
.Localize a seção
<sharedListeners>
, na seção<system.diagnostics>
, na seção superior de nível<configuration>
.Adicione esses elementos a essa
<sharedListeners>
seção.<add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" initializeData="FileLogWriter" /> <add name="EventLog" type="System.Diagnostics.EventLogTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="sample application"/> <add name="Delimited" type="System.Diagnostics.DelimitedListTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="c:\temp\sampleDelimitedFile.txt" traceOutputOptions="DateTime" /> <add name="XmlWriter" type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="c:\temp\sampleLogFile.xml" /> <add name="Console" type="System.Diagnostics.ConsoleTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="true" />
O conteúdo do arquivo app.config deve ser semelhante ao seguinte XML:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <system.diagnostics> <sources> <!-- This section configures My.Application.Log --> <source name="DefaultSource" switchName="DefaultSwitch"> <listeners> <add name="FileLog"/> <!-- Uncomment to connect the application file log. --> <!-- <add name="FileLog" /> --> <!-- Uncomment to connect the event log. --> <!-- <add name="EventLog" /> --> <!-- Uncomment to connect the event log. --> <!-- <add name="Delimited" /> --> <!-- Uncomment to connect the XML log. --> <!-- <add name="XmlWriter" /> --> <!-- Uncomment to connect the console log. --> <!-- <add name="Console" /> --> </listeners> </source> </sources> <switches> <add name="DefaultSwitch" value="Information" /> </switches> <sharedListeners> <add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" initializeData="FileLogWriter" /> <add name="EventLog" type="System.Diagnostics.EventLogTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="sample application"/> <add name="Delimited" type="System.Diagnostics.DelimitedListTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="c:\temp\sampleDelimitedFile.txt" traceOutputOptions="DateTime" /> <add name="XmlWriter" type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="c:\temp\sampleLogFile.xml" /> <add name="Console" type="System.Diagnostics.ConsoleTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="true" /> </sharedListeners> </system.diagnostics> </configuration>
Para reconfigurar um ouvinte
Localize o elemento
<add>
do ouvinte na seção<sharedListeners>
.O
type
atributo fornece o nome do tipo ouvinte. Esse tipo deve herdar da TraceListener classe. Use o nome de tipo de nome forte para garantir que o tipo correto seja usado. Para obter mais informações, consulte a seção "Para fazer referência a um tipo fortemente nomeado" abaixo.Alguns tipos que você pode usar são:
Um ouvinte Microsoft.VisualBasic.Logging.FileLogTraceListener, que grava em um arquivo de log.
O ouvinte System.Diagnostics.EventLogTraceListener que grava informações no log de eventos do computador especificado pelo parâmetro
initializeData
.Os ouvintes System.Diagnostics.DelimitedListTraceListener e System.Diagnostics.XmlWriterTraceListener, que gravam no arquivo especificado no parâmetro
initializeData
.Um ouvinte System.Diagnostics.ConsoleTraceListener, que grava no console da linha de comando.
Para saber onde outros tipos de ouvintes de registros gravam informações, consulte a documentação correspondente.
Quando o aplicativo cria o objeto de ouvinte de log, ele passa o atributo
initializeData
como o parâmetro de construtor. O significado do atributoinitializeData
depende o ouvinte de rastreamento.Depois de criar o ouvinte de log, o aplicativo define as propriedades do ouvinte. Essas propriedades são definidas pelos outros atributos no
<add>
elemento. Para obter mais informações sobre as propriedades de um ouvinte específico, consulte a documentação do tipo desse ouvinte.
Para fazer referência a um tipo de nome forte
Para garantir que o tipo correto seja usado para seu ouvinte de log, certifique-se de usar o nome de tipo totalmente qualificado e o nome do assembly de nome forte. A sintaxe de um tipo fortemente nomeado é a seguinte:
<nome do tipo>, <nome de assembly>, <número da versão>, <cultura>, <nome forte>
Este exemplo de código mostra como determinar o nome do tipo do nome forte para um tipo totalmente qualificado —"System.Diagnostics.FileLogTraceListener" nesse caso.
Public Sub DisplayStrongName() Dim t As Type = GetType(Logging.FileLogTraceListener) MsgBox(t.FullName & ", " & t.Assembly.FullName) End Sub
Essa é a saída e pode ser usada para referenciar exclusivamente um tipo fortemente nomeado, como no procedimento "Para adicionar ouvintes" acima.
Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a