EventLog.Source Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define o nome da fonte a ser registrado e usado ao gravar no log de eventos.
public:
property System::String ^ Source { System::String ^ get(); void set(System::String ^ value); };
[System.ComponentModel.SettingsBindable(true)]
public string Source { get; set; }
[System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public string Source { get; set; }
[System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public string Source { get; set; }
[System.ComponentModel.SettingsBindable(true)]
[System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public string Source { get; set; }
[<System.ComponentModel.SettingsBindable(true)>]
member this.Source : string with get, set
[<System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
member this.Source : string with get, set
[<System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
member this.Source : string with get, set
[<System.ComponentModel.SettingsBindable(true)>]
[<System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
member this.Source : string with get, set
Public Property Source As String
Valor da propriedade
O nome registrado com o log de eventos como uma fonte de entradas. O padrão é uma cadeia de caracteres vazia ("").
- Atributos
Exceções
O nome da origem resulta em um caminho de chave do Registro com mais de 254 caracteres.
Exemplos
O exemplo a seguir cria a origem MySource
se ela ainda não existir e grava uma entrada no log de eventos MyNewLog
.
#using <System.dll>
using namespace System;
using namespace System::Diagnostics;
using namespace System::Threading;
int main()
{
// Create the source, if it does not already exist.
if ( !EventLog::SourceExists( "MySource" ) )
{
EventLog::CreateEventSource( "MySource", "MyNewLog" );
Console::WriteLine( "CreatingEventSource" );
}
// Create an EventLog instance and assign its source.
EventLog^ myLog = gcnew EventLog;
myLog->Source = "MySource";
// Write an informational entry to the event log.
myLog->WriteEntry( "Writing to event log." );
Console::WriteLine( "Message written to event log." );
}
using System;
using System.Diagnostics;
using System.Threading;
class MySample{
public static void Main(){
// Create the source, if it does not already exist.
if(!EventLog.SourceExists("MySource"))
{
// An event log source should not be created and immediately used.
// There is a latency time to enable the source, it should be created
// prior to executing the application that uses the source.
// Execute this sample a second time to use the new source.
EventLog.CreateEventSource("MySource", "MyNewLog");
Console.WriteLine("CreatingEventSource");
Console.WriteLine("Exiting, execute the application a second time to use the source.");
// The source is created. Exit the application to allow it to be registered.
return;
}
// Create an EventLog instance and assign its source.
EventLog myLog = new EventLog();
myLog.Source = "MySource";
// Write an informational entry to the event log.
myLog.WriteEntry("Writing to event log.");
Console.WriteLine("Message written to event log.");
}
}
Option Explicit
Option Strict
Imports System.Diagnostics
Imports System.Threading
Class MySample
Public Shared Sub Main()
' Create the source, if it does not already exist.
If Not EventLog.SourceExists("MySource") Then
EventLog.CreateEventSource("MySource", "MyNewLog")
Console.WriteLine("CreatingEventSource")
End If
' Create an EventLog instance and assign its source.
Dim myLog As New EventLog()
myLog.Source = "MySource"
' Write an informational entry to the event log.
myLog.WriteEntry("Writing to event log.")
Console.WriteLine("Message written to event log.")
End Sub
End Class
Comentários
A origem do evento indica quais logs o evento. Geralmente, ele é o nome do aplicativo ou o nome de um subcomponente do aplicativo, se o aplicativo for grande. Aplicativos e serviços devem gravar no log do aplicativo ou em um log personalizado. Os drivers de dispositivo devem gravar no log do sistema.
Você só precisará especificar uma fonte de evento se estiver gravando em um log de eventos. Antes de gravar uma entrada em um log de eventos, você deve registrar a origem do evento com o log de eventos como uma fonte válida de eventos. Quando você grava uma entrada de log, o sistema usa a Source propriedade para localizar o log apropriado no qual colocar sua entrada. Se você estiver lendo o log de eventos, poderá especificar o Source, ou um Log e MachineName.
Observação
Você não precisará especificar o MachineName se estiver se conectando a um log no computador local. Se você não especificar o MachineName, o computador local (".") será assumido.
Use WriteEvent e WriteEntry para gravar eventos em um log de eventos. Você deve especificar uma fonte de evento para gravar eventos; você deve criar e configurar a origem do evento antes de gravar a primeira entrada com a origem.
Create a nova origem do evento durante a instalação do aplicativo. Isso permite tempo para o sistema operacional atualizar sua lista de fontes de eventos registradas e sua configuração. Se o sistema operacional não tiver atualizado sua lista de fontes de eventos e você tentar gravar um evento com a nova origem, a operação de gravação falhará. Você pode configurar uma nova fonte usando um EventLogInstallerou usando o CreateEventSource método . Você deve ter direitos administrativos no computador para criar uma nova fonte de evento.
Você pode criar uma origem de evento para um log de eventos existente ou um novo log de eventos. Quando você cria uma nova fonte para um novo log de eventos, o sistema registra a origem desse log, mas o log não é criado até que a primeira entrada seja gravada nele.
A origem deve ser exclusiva no computador local; um novo nome de origem não pode corresponder a um nome de origem existente ou a um nome de log de eventos existente. Cada origem pode gravar em apenas um log de eventos por vez; no entanto, seu aplicativo pode usar várias fontes para gravar em vários logs de eventos. Por exemplo, seu aplicativo pode exigir várias fontes configuradas para logs de eventos diferentes ou arquivos de recursos diferentes.
Se você alterar o Source valor, o para o EventLog qual ele está registrado será fechado e todos os identificadores de evento serão liberados.
A origem deve ser configurada para gravar entradas localizadas ou para gravar cadeias de caracteres diretas. Se o aplicativo gravar entradas usando identificadores de recurso e valores de cadeia de caracteres, você deverá registrar duas fontes separadas. Por exemplo, configure uma fonte com arquivos de recurso e use essa origem WriteEvent no método para gravar entradas usando identificadores de recurso no log de eventos. Em seguida, crie uma fonte diferente sem arquivos de recurso e use essa origem WriteEntry no método para gravar cadeias de caracteres diretamente no log de eventos usando essa origem.
Para alterar os detalhes de configuração de uma origem existente, você deve excluir a origem e criá-la com a nova configuração. Se outros aplicativos ou componentes usarem a origem existente, crie uma nova fonte com a configuração atualizada em vez de excluir a origem existente.
Observação
Se uma origem já tiver sido mapeada para um log e você o remapear para um novo log, reinicie o computador para que as alterações entrem em vigor.