EventSourceCreationData(String, String) Konstruktor

Definíció

Inicializálja az EventSourceCreationData osztály új példányát egy megadott eseményforrás és eseménynapló nevével.

public:
 EventSourceCreationData(System::String ^ source, System::String ^ logName);
public EventSourceCreationData(string? source, string logName);
public EventSourceCreationData(string source, string logName);
new System.Diagnostics.EventSourceCreationData : string * string -> System.Diagnostics.EventSourceCreationData
Public Sub New (source As String, logName As String)

Paraméterek

source
String

Az eseménynaplóban bejegyzésforrásként regisztrálandó név.

logName
String

Annak a naplónak a neve, amelybe a forrásból származó bejegyzések vannak megírva.

Példák

Az alábbi példakód azt határozza meg, hogy a névvel ellátott SampleApplicationSource eseményforrás regisztrálva van-e a helyi számítógépen. Ha az eseményforrás nem létezik, a példa beállítja a forrás üzeneterőforrás-fájlját, és létrehozza az új eseményforrást. Végül a példakód beállítja az eseménynapló honosított megjelenítendő nevét a benne lévő DisplayNameMsgId erőforrás-azonosító érték és az erőforrásfájl elérési útja messageFilealapján.

static void CreateEventSourceSample1(string messageFile)
{
    string myLogName;
    string sourceName = "SampleApplicationSource";

    // Create the event source if it does not exist.
    if(!EventLog.SourceExists(sourceName))
    {
        // Create a new event source for the custom event log
        // named "myNewLog."

        myLogName = "myNewLog";
        EventSourceCreationData mySourceData = new EventSourceCreationData(sourceName, myLogName);

        // Set the message resource file that the event source references.
        // All event resource identifiers correspond to text in this file.
        if (!System.IO.File.Exists(messageFile))
        {
            Console.WriteLine("Input message resource file does not exist - {0}",
                messageFile);
            messageFile = "";
        }
        else
        {
            // Set the specified file as the resource
            // file for message text, category text, and
            // message parameter strings.

            mySourceData.MessageResourceFile = messageFile;
            mySourceData.CategoryResourceFile = messageFile;
            mySourceData.CategoryCount = CategoryCount;
            mySourceData.ParameterResourceFile = messageFile;

            Console.WriteLine("Event source message resource file set to {0}",
                messageFile);
        }

        Console.WriteLine("Registering new source for event log.");
        EventLog.CreateEventSource(mySourceData);
    }
    else
    {
        // Get the event log corresponding to the existing source.
        myLogName = EventLog.LogNameFromSourceName(sourceName,".");
    }

    // Register the localized name of the event log.
    // For example, the actual name of the event log is "myNewLog," but
    // the event log name displayed in the Event Viewer might be
    // "Sample Application Log" or some other application-specific
    // text.
    EventLog myEventLog = new EventLog(myLogName, ".", sourceName);

    if (messageFile.Length > 0)
    {
        myEventLog.RegisterDisplayName(messageFile, DisplayNameMsgId);
    }
}
Public Shared Sub CreateEventSourceSample1(ByVal messageFile As String)

    Dim myLogName As String
    Dim sourceName As String = "SampleApplicationSource"

    ' Create the event source if it does not exist.
    If Not EventLog.SourceExists(sourceName)
    
        ' Create a new event source for the custom event log
        ' named "myNewLog."  

        myLogName = "myNewLog"
        Dim mySourceData As EventSourceCreationData = New EventSourceCreationData(sourceName, myLogName)

        ' Set the message resource file that the event source references.
        ' All event resource identifiers correspond to text in this file.
        If Not System.IO.File.Exists(messageFile)

            Console.WriteLine("Input message resource file does not exist - {0}", _
                messageFile)
            messageFile = ""
        Else 
            ' Set the specified file as the resource
            ' file for message text, category text and 
            ' message parameters strings.

            mySourceData.MessageResourceFile = messageFile
            mySourceData.CategoryResourceFile = messageFile
            mySourceData.CategoryCount = CategoryCount
            mySourceData.ParameterResourceFile = messageFile

            Console.WriteLine("Event source message resource file set to {0}", _
                messageFile)
        End If

        Console.WriteLine("Registering new source for event log.")
        EventLog.CreateEventSource(mySourceData)
    Else
        ' Get the event log corresponding to the existing source.
        myLogName = EventLog.LogNameFromSourceName(sourceName,".")
    End If

    ' Register the localized name of the event log.
    ' For example, the actual name of the event log is "myNewLog," but
    ' the event log name displayed in the Event Viewer might be
    ' "Sample Application Log" or some other application-specific
    ' text.
    Dim myEventLog As EventLog = New EventLog(myLogName, ".", sourceName)
    
    If messageFile.Length > 0
        myEventLog.RegisterDisplayName(messageFile, DisplayNameMsgId)
    End If
End Sub

A példakód az erőforrástárba EventLogMsgs.dllbeépített alábbi üzenetszövegfájlt használja. Az üzenetszövegfájl az a forrás, amelyből az üzenet erőforrásfájlja létrejön. Az üzenet szövegfájlja határozza meg a kategória, eseményüzenet és paraméterszúró sztringek erőforrás-azonosítóit és szövegét.

; // EventLogMsgs.mc
; // ********************************************************

; // Use the following commands to build this file:

; //   mc -s EventLogMsgs.mc
; //   rc EventLogMsgs.rc
; //   link /DLL /SUBSYSTEM:WINDOWS /NOENTRY /MACHINE:x86 EventLogMsgs.Res
; // ********************************************************

; // - Event categories -
; // Categories must be numbered consecutively starting at 1.
; // ********************************************************

MessageId=0x1
Severity=Success
SymbolicName=INSTALL_CATEGORY
Language=English
Installation
.

MessageId=0x2
Severity=Success
SymbolicName=QUERY_CATEGORY
Language=English
Database Query
.

MessageId=0x3
Severity=Success
SymbolicName=REFRESH_CATEGORY
Language=English
Data Refresh
.

; // - Event messages -
; // *********************************

MessageId = 1000
Severity = Success
Facility = Application
SymbolicName = AUDIT_SUCCESS_MESSAGE_ID_1000
Language=English
My application message text, in English, for message id 1000, called from %1.
.

MessageId = 1001
Severity = Warning
Facility = Application
SymbolicName = AUDIT_FAILED_MESSAGE_ID_1001
Language=English
My application message text, in English, for message id 1001, called from %1.
.

MessageId = 1002
Severity = Success
Facility = Application
SymbolicName = GENERIC_INFO_MESSAGE_ID_1002
Language=English
My generic information message in English, for message id 1002.
.

MessageId = 1003
Severity = Warning
Facility = Application
SymbolicName = GENERIC_WARNING_MESSAGE_ID_1003
Language=English
My generic warning message in English, for message id 1003, called from %1.
.

MessageId = 1004
Severity = Success
Facility = Application
SymbolicName = UPDATE_CYCLE_COMPLETE_MESSAGE_ID_1004
Language=English
The update cycle is complete for %%5002.
.

MessageId = 1005
Severity = Warning
Facility = Application
SymbolicName = SERVER_CONNECTION_DOWN_MESSAGE_ID_1005
Language=English
The refresh operation did not complete because the connection to server %1 could not be established.
.

; // - Event log display name -
; // ********************************************************

MessageId = 5001
Severity = Success
Facility = Application
SymbolicName = EVENT_LOG_DISPLAY_NAME_MSGID
Language=English
Sample Event Log
.

; // - Event message parameters -
; //   Language independent insertion strings
; // ********************************************************

MessageId = 5002
Severity = Success
Facility = Application
SymbolicName = EVENT_LOG_SERVICE_NAME_MSGID
Language=English
SVC_UPDATE.EXE
.

Megjegyzések

Ha bejegyzéseket szeretne írni egy eseménynaplóba, először létre kell hoznia egy eseményforrást az eseménynaplóhoz. Új forrás regisztrálásához inicializáljon egy példányt EventSourceCreationData , konfigurálja az alkalmazás példánytulajdonságait, és hívja meg a metódust EventLog.CreateEventSource(EventSourceCreationData) . A forrás regisztrálása után bejegyzéseket írhat a forrásból a metódusok vagy WriteEvent metódusok WriteEntry használatával.

Az eseményforrást az eseménykategória és az üzenetsztringek honosított erőforrásaival regisztrálhatja. Az alkalmazás erőforrás-azonosítók használatával írhat eseménynapló-bejegyzéseket a tényleges sztring megadása helyett. A eseménymegtekintő az erőforrás-azonosítót használja a honosított erőforrásfájl megfelelő sztringjének megkereséséhez és megjelenítéséhez az aktuális nyelvi beállítások alapján. Az eseménykategóriákhoz, üzenetekhez és paraméterbeszúrási sztringekhez külön fájlt is regisztrálhat, vagy mindhárom sztringtípushoz regisztrálhatja ugyanazt az erőforrásfájlt. CategoryCountA , CategoryResourceFile, MessageResourceFileés ParameterResourceFile tulajdonságok használatával konfigurálja a forrást, hogy honosított bejegyzéseket írjon az eseménynaplóba. Ha az alkalmazás sztringértékeket ír közvetlenül az eseménynaplóba, nem kell ezeket a tulajdonságokat beállítania.

A forrást honosított bejegyzések írására vagy közvetlen sztringek írására kell konfigurálni. Ha az alkalmazás erőforrás-azonosítók és sztringértékek használatával is ír bejegyzéseket, két különálló forrást kell regisztrálnia. Konfiguráljon például egy forrást erőforrásfájlokkal, majd használja ezt a forrást a WriteEvent metódusban bejegyzések írásához erőforrás-azonosítók használatával az eseménynaplóba. Ezután hozzon létre egy másik forrást erőforrásfájlok nélkül, és használja ezt a forrást a WriteEntry metódusban, hogy sztringeket írjon közvetlenül az eseménynaplóba.

Az alábbi táblázat egy adott tulajdonság kezdeti értékeit EventSourceCreationDatamutatja be.

Ingatlan Kezdeti érték
Source A source paraméter.
LogName A logName paraméter.
MachineName A helyi számítógép (".").
CategoryCount Nulla
CategoryResourceFile null (Nothing Visual Basic).
MessageResourceFile null (Nothing Visual Basic).
ParameterResourceFile null (Nothing Visual Basic).

A következőre érvényes:

Lásd még