windows - C # Læs Eventlog fra evtx-fil med EventLog Class

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at læse en gemt .evtx med EventLog-klassen fra System.Diagnostics.
men det virker ikke.


Er det ikke muligt at læse en gemt evtx-fil med EventLog Class eller hvor er problemet?


Nedenfor er Min kode


string source = @"S:	est.evtx";

                    EventLog eventLog = new EventLog();
                    eventLog.Source = source;

                    foreach (EventLogEntry log in eventLog.Entries)
                    {
                        Console.WriteLine("{0}
", log.Message);
                    }

Bedste reference


Kildeegenskaben for EventLog refererer til applikationskilderne i Event Viewer og ikke nødvendigvis den kildefil, du eksporterede.


Indtast billedbeskrivelse her [3]


Du skal forsyne Source-egenskaben med et navn på et program, ikke et filnavn.


UPDATE: Hvis du insisterer på at læse fra en evtx, skal EventLogReader-klassen være løsningen.


//EVENT LOG READER
        string source = @"C:	estev.evtx";

        using (var reader = new EventLogReader(source, PathType.FilePath))
        {
            EventRecord record;
            while ((record = reader.ReadEvent()) != null)
            {
                using (record)
                {
                    Console.WriteLine("{0} {1}: {2}", record.TimeCreated, record.LevelDisplayName, record.FormatDescription());
                }
            }
        }

//EVENT LOG
        EventLog eventLog = new EventLog();
        eventLog.Source = "ESENT"; //name of an application

        foreach (EventLogEntry log in eventLog.Entries)
        {
            Console.WriteLine("{0}
", log.Message);
        }


Indtast billedbeskrivelse her [4]


Indtast billedbeskrivelse her [5]