我想使用 ReportEvent()
向Windows事件日志中添加严重类型的事件消息,但是根据文档,仅允许以下类型:
EVENTLOG_SUCCESS
EVENTLOG_ERROR_TYPE
EVENTLOG_WARNING_TYPE
EVENTLOG_INFORMATION_TYPE
EVENTLOG_AUDIT_SUCCESS
EVENTLOG_AUDIT_FAILURE
那么,如何添加
EVENTLOG_CRITICAL
呢?由于可以在Windows事件查看器中看到重要消息。 最佳答案
正如ReportEvent()
文档所说,它不支持“关键”消息。您无能为力,也无法添加更改。
但是,ReportEvent()
并不是将消息记录到Windows事件日志的唯一方法,甚至不是首选方法。 MSDN在Event Logging API的文档中声明了以下内容(ReportEvent()
属于其中):
在较新的Event Log API的文档中,Writing an Instrumentation Manifest的部分包含有关Defining Severity Levels的子部分,该子部分显示Win:Critical
是“常用的严重性级别”之一。
您将不得不替换对ReportEvent()
的现有调用,以改为使用Event Tracing Functions( EventWrite()
, EventWriteEx()
, EventWriteString()
, TraceEvent()
等)之一。