EventLog - 获取可用日志

时间:2011-10-21 18:50:53

标签: c# asp.net event-log

使用以下代码,我可以显示“应用程序”日志下列出的所有条目:

EventLog appLog = new EventLog();
appLog.Log = "Application";
appLog.MachineName = ".";  

foreach (EventLogEntry entry in appLog.Entries)
{
 // process
}  

由于我没有对服务器的FTP o RDP访问,是否有办法获取所有可用日志的列表,而不是“应用程序”?有些日志是标准的,但可以添加新日志用户/应用程序。

2 个答案:

答案 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