Demonstra Passo a passo: Alterando onde My.Application.Log grava informações (Visual Basic)
Você pode usar os objetos My.Application.Log e My.Log para criar um log de informações sobre eventos que ocorrem em seu aplicativo. Esta explicação 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 objeto Log pode gravar as informações em vários ouvintes de log. Você precisará determinar a configuração atual dos ouvintes de log antes de alterar as configurações. Para obter mais informações, consulte Demonstra Passo a passo: Determinar onde My.Application.Log grava informações (Visual Basic).
Você pode querer examinar Como: Gravar informações de evento para um arquivo de texto (Visual Basic) ou Como: Gravar um Log de eventos do aplicativo (Visual Basic).
Para adicionar ouvintes
Clique com o botão direito do mouse em app.config no Solution Explorer e escolha Open.
- ou -
Se não houver nenhum arquivo app.config:
No menu Project, escolha Add New Item.
Na caixa de diálogo Add New Item, selecione Application Configuration File.
Clique em Adicionar.
Localize a seção <listeners>,na seção <source> com o atributo name "DefaultSource", na seção <sources>. A seção <sources> está na seção <system.diagnostics>, na seção de nível superior <configuration>.
Adicione esses elementos a aquela seção <listeners>.
<!-- 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" /> -->
Descomente os ouvintes de log que você desejar receber mensagens de Log.
Localize a seção <sharedListeners>, na seção <system.diagnostics>, na seção de nível superior <configuration>.
Adicione esses elementos a aquela seção <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" />
O conteúdo do arquivo app.config deve ser semelhante ao XML a seguir:
<?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 ouvinte do elemento <add> da seção <sharedListeners>.
O atributo type fornece o nome do tipo de escuta. Este tipo deve herdar da classe TraceListener. Use o nome de tipo altamente nomeado para garantir que o tipo correto é usado. Para obter mais informações, consulte a seção abaixo "Referenciar um tipo de nome forte".
Alguns tipos que você pode usar são:
Um ouvinte Microsoft.VisualBasic.Logging.FileLogTraceListener, que grava em um arquivo de log.
Um ouvinte System.Diagnostics.EventLogTraceListener, que grava informações para o log de eventos do computador especificado pelo parâmetro initializeData.
Os ouvintes System.Diagnostics.DelimitedListTraceListener e System.Diagnostics.XmlWriterTraceListener, os quais gravam para o arquivo especificado no parâmetro initializeData.
Um ouvinte System.Diagnostics.ConsoleTraceListener, que grava no console de linha de comando.
Para informações sobre onde outros tipos de ouvintes de log gravam informações, consulte a documentação daquele tipo.
Quando o aplicativo cria o objeto de ouvinte de log, ele passa o atributo initializeData como o parâmetro de construtor. O significado do atributo initializeData depende o ouvinte de rastreamento.
Após criar o ouvinte de log, o aplicativo define as propriedades do ouvinte. Essas propriedades são definidas pelos outros atributos no elemento <add>. Para obter mais informações sobre as propriedades de um ouvinte específico, consulte a documentação para aquele tipo de ouvinte.
Para Fazer referência a um tipo de nome forte
Para garantir que o tipo correto é usado para seu ouvinte de log, certifique-se de usar o nome de tipo totalmente qualificado e o nome de assembly de nome forte. A sintaxe de um tipo de nome forte é a seguinte:
<nome do tipo>, <nome de assembly>, <o número de versão>, <cultura>, <nome forte>
Este exemplo de código mostra como determinar o nome do tipo de nome forte para um tipo totalmente qualificado — "System.Diagnostics.FileLogTraceListener" neste caso.
Public Sub DisplayStrongName() Dim t As Type = GetType(Logging.FileLogTraceListener) MsgBox(t.FullName & ", " & t.Assembly.FullName) End Sub
Esta é a saída, e ela pode ser usado para fazer referência única a um tipo de nome forte, como no procedimento “Too add listeners” (para adicionar ouvintes) acima.
Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Consulte também
Tarefas
Como: Gravar informações de evento para um arquivo de texto (Visual Basic)
Como: Gravar um Log de eventos do aplicativo (Visual Basic)
Referência
Microsoft.VisualBasic.Logging.Log