gpt4 book ai didi

c# - 如何读取带有文件夹的事件日志?

转载 作者:行者123 更新时间:2023-11-30 12:31:14 25 4
gpt4 key购买 nike

我想以编程方式获取出现在 eventvwr 文件夹中的事件日志。这一个适用于 Windows 8 应用程序:Microsoft-Windows-AppHost/Admin。我以管理员身份运行。

这是行不通的:

System.Diagnostics.EventLog.SourceExists("Microsoft-Windows-AppHost/Admin");

这也不起作用:

EventLogQuery queryMicrosoftWindowsAppHost = new EventLogQuery("Microsoft-Windows-AppHost/Admin", PathType.LogName);
_eventsMicrosoftWindowsAppHost = new List<EventRecordWrittenEventArgs>();
_eventLogWatcherMicrosoftWindowsAppHost = new EventLogWatcher(queryMicrosoftWindowsAppHost);
_eventLogWatcherMicrosoftWindowsAppHost.EventRecordWritten += (object sender, EventRecordWrittenEventArgs e) =>
{
_eventsMicrosoftWindowsAppHost.Add(e);
};
_eventLogWatcherMicrosoftWindowsAppHost.Enabled = true;

最佳答案

您可以使用此代码读取事件日志:

EventLogReader reader = new EventLogReader("Microsoft-Windows-AppHost/Admin");
var evt = reader.ReadEvent();
while (evt!= null)
{
// Write the message to the console
Console.WriteLine(evt.FormatDescription());
evt = reader.ReadEvent();
}

如果你想附加你的处理程序,你的代码很接近,但你可以简单地将字符串传递给观察者,而不是使用查询对象:

var watcher = new EventLogWatcher("Microsoft-Windows-AppHost/Admin");
watcher.EventRecordWritten += (object s, EventRecordWrittenEventArgs e1) =>
{
Console.WriteLine(e1.EventRecord.FormatDescription());
};
watcher.Enabled = true;

关于c# - 如何读取带有文件夹的事件日志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14078127/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com