事件查看器,如何以编程方式向其添加“任务”

时间:2014-02-20 08:57:40

标签: c# .net error-handling event-viewer

我目前正在将事件消息写入操作系统的事件查看器 (Windows 7),我正在使用c#& .net framework 4

当我使用前端查看我记录的消息时,我可以看到前端有可能将任务添加到特定消息中。

我的想法是回应事件查看器上的特定错误。

喜欢将错误处理程序添加为“任务”(在事件查看器中调用)

这可能以编程方式进行吗? (我知道可以通过前端)

感谢

2 个答案:

答案 0 :(得分:0)

Task Scheduler Managed Wrapper将允许您执行此操作。特别注意EventTrigger,它允许您挂钩到Windows事件。示例页面有一个非常基本的例子。

答案 1 :(得分:0)

在我做了一些研究之后 我追求的是:

public class EventViewer()
{
    EventLog _eventlog;

    public void createandreferenceEventViewer(string sLogNameTrimmed)
    {
            //Creates or reference the default Event Viewer
            if (!EventLog.SourceExists(sLogNameTrimmed))
            {                
                EventLog.CreateEventSource(sLogNameTrimmed, sLogNameTrimmed);
                Thread.Sleep(500); // Event viewer need latency to allow being written 
            }
            // Connect to the newly created / existing Log
            _eventlog = new EventLog(sLogNameTrimmed);
            _eventlog.Source = sLogNameTrimmed;
            _eventlog.EntryWritten += WrittenEntryEventHandler;
            _eventlog.EnableRaisingEvents = true;
    }

    void WrittenEntryEventHandler(object source, EntryWrittenEventArgs e)
        {
            switch (e.Entry.EntryType)
            {
                case EventLogEntryType.Error:
                        DO_ERROR_HANDLING_HERE();
                    break;
                case EventLogEntryType.Warning :
                        DO_WARNING_HANDLING_HERE();
                    break;
                default:
                    DO_DEFAULT_HANDLING_HERE();
                    break;
            }
        }
}

其中 WrittenEntryEventHandler 将响应写入事件查看器的所有条目。 然后我们可以按类型过滤或添加事件处理程序。 感谢那些花时间阅读问题的人

谢谢