我想使用ReportEvent()
向Windows事件日志添加带有严重类型的事件消息,但根据文档,只允许以下类型:
EVENTLOG_SUCCESS
EVENTLOG_ERROR_TYPE
EVENTLOG_WARNING_TYPE
EVENTLOG_INFORMATION_TYPE
EVENTLOG_AUDIT_SUCCESS
EVENTLOG_AUDIT_FAILURE
那我该如何添加EVENTLOG_CRITICAL
?可以在Windows事件查看器中看到关键消息。
答案 0 :(得分:1)
正如ReportEvent()
文档所述,它不支持" critical"消息。没有什么可以做或添加来改变它。
但是,ReportEvent()
不是将消息记录到Windows事件日志的唯一方法,甚至是首选方式。 MSDN在Event Logging API的文档中声明了以下内容(ReportEvent()
是其中的一部分):
注意事件记录API专为在Windows Server 2003,Windows XP或Windows 2000操作系统上运行的应用程序而设计。在Windows Vista中,重新设计了事件日志记录基础结构。旨在在Windows Vista或更高版本操作系统上运行的应用程序应使用Windows Event Log来记录事件。
在较新Event Log API的文档中,Writing an Instrumentation Manifest上的部分有一个关于Defining Severity Levels的子部分,其中显示Win:Critical
是"之一。常用的严重程度"。
您必须将现有的来电替换为ReportEvent()
才能使用Event Tracing Functions之一(EventWrite()
,EventWriteEx()
,EventWriteString()
,{{3等等)。