EventLog.Source Propriedade

Definição

Recebe ou define o nome de origem para registar e usar ao escrever no registo 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 de Propriedade

O nome registado no registo de eventos como fonte de entradas. O padrão é uma cadeia vazia ("").

Atributos

Exceções

O nome de origem resulta num caminho de chave de registo com mais de 254 caracteres.

Exemplos

O exemplo seguinte cria a fonte MySource se esta ainda não existir, e escreve uma entrada no registo MyNewLogde eventos .

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

Observações

A fonte do evento indica o que regista o evento. É frequentemente o nome da aplicação, ou o nome de um subcomponente da aplicação, se a aplicação for grande. As aplicações e serviços devem escrever no registo de aplicações ou num registo personalizado. Os drivers de dispositivo devem escrever no registo do sistema.

Só precisas de especificar uma fonte de eventos se estiveres a escrever num registo de eventos. Antes de escrever uma entrada num registo de eventos, deve registar a fonte do evento no registo de eventos como fonte válida de eventos. Quando escreve uma entrada de registo, o sistema utiliza a Source propriedade para encontrar o registo apropriado onde colocar a sua entrada. Se estiver a ler o registo de eventos, pode especificar o Source, ou um Log e MachineName.

Note

Não é obrigado a especificar se MachineName está a ligar-se a um registo no computador local. Se não especificar o MachineName, assume-se o computador local (".").

Usar WriteEvent e WriteEntry para escrever eventos num registo de eventos. Deve especificar uma fonte de eventos para escrever eventos; Deve criar e configurar o código-fonte do evento antes de escrever a primeira entrada com o código-fonte.

Crie a nova fonte de eventos durante a instalação da sua aplicação. Isto permite que o sistema operativo atualize a sua lista de fontes de eventos registadas e a sua configuração. Se o sistema operativo não atualizou a sua lista de fontes de eventos, e tentar escrever um evento com a nova fonte, a operação de escrita falhará. Pode configurar uma nova fonte usando um EventLogInstaller, ou usando o CreateEventSource método. Deve ter direitos administrativos no computador para criar uma nova fonte de eventos.

Pode criar uma fonte de eventos para um registo de eventos existente ou para um novo registo de eventos. Quando crias uma nova fonte para um novo registo de eventos, o sistema regista a fonte desse registo, mas o registo só é criado quando a primeira entrada é escrita nele.

A fonte deve ser única no computador local; Um novo nome de fonte não pode corresponder a um nome de fonte existente ou a um nome de registo de eventos existente. Cada fonte pode escrever apenas num registo de eventos de cada vez; No entanto, a sua aplicação pode usar múltiplas fontes para escrever em vários registos de eventos. Por exemplo, a sua aplicação pode exigir múltiplas fontes configuradas para diferentes registos de eventos ou diferentes ficheiros de recursos.

Se alterar o Source valor, o EventLog valor para o qual está registado é fechado e todos os handles de eventos são libertados.

A fonte deve ser configurada para escrever entradas localizadas ou para escrever strings diretas. Se a sua aplicação escrever entradas usando tanto identificadores de recursos como valores de cadeia, deve registar duas fontes separadas. Por exemplo, configure uma fonte com ficheiros de recursos e depois use essa fonte no WriteEvent método para escrever entradas usando identificadores de recurso no registo de eventos. Depois cria uma fonte diferente sem ficheiros de recurso e usa essa fonte no WriteEntry método para escrever strings diretamente no registo de eventos usando essa fonte.

Para alterar os detalhes de configuração de uma fonte existente, tem de apagar a fonte e depois criá-la com a nova configuração. Se outras aplicações ou componentes usarem a fonte existente, crie uma nova fonte com a configuração atualizada em vez de eliminar a fonte existente.

Note

Se uma fonte já foi mapeada para um registo e a remapear para um novo registo, tem de reiniciar o computador para que as alterações tenham efeito.

Aplica-se a

Ver também