使用以下代码,我可以显示“应用程序”日志下列出的所有条目:
EventLog appLog = new EventLog();
appLog.Log = "Application";
appLog.MachineName = ".";
foreach (EventLogEntry entry in appLog.Entries)
{
// process
}
由于我没有对服务器的FTP o RDP访问,是否有办法获取所有可用日志的列表,而不是“应用程序”?有些日志是标准的,但可以添加新日志用户/应用程序。
答案 0 :(得分:10)
执行命令
var d = EventLog.GetEventLogs();
foreach(EventLog l in d)
{
Console.WriteLine(l.LogDisplayName);
}
如果你想看到所有的名字。它们存储在一个数组中。
修改强> 要按照设置方式进行工作,请使用:
var d = EventLog.GetEventLogs();
foreach(EventLog l in d)
{
foreach (EventLogEntry entry in l.Entries)
{
// process
}
}
答案 1 :(得分:5)
是 - 使用静态方法EventLog.GetEventLogs
...请注意,这需要适当的权限...有关详细信息和示例代码,请参阅http://msdn.microsoft.com/en-us/library/ht0k516y.aspx