如何使用 Pantheios 将日志消息发送到 Windows 事件日志?
和
如果我使用 Pantheious 从多个进程中执行此操作,它会是过程安全的吗?我会患上龟裂吗?
您需要执行以下操作:
您需要与 be.WindowsEventLog 链接。
在 Windows 上,这可以通过添加#include <pantheios/implicit_link/be.WindowsEventLog.h>
到您的编译单元之一来使用隐式链接来完成。
此外,您必须定义应用程序特定的功能pantheios_be_WindowsEventLog_calcCategoryAndEventId()
(如文档中的小注释中所指定:注意这是一个应用程序指定的功能。。
可以在以下位置找到一个简单的实现示例pantheios-folder\test\scratch\test.scratch.api\test.scratch.api.cpp
:
// The following allows this to be used with the Windows EventLog back-end.
PANTHEIOS_CALL(void) pantheios_be_WindowsEventLog_calcCategoryAndEventId(
int /* backEndId */
, int /* severity */
, pantheios::uint16_t* category
, pantheios::uint32_t* eventId
) /* throw() */
{
// NOTE: A proper implementation would specify non-0 values here that
// identify the requisite event identifier and category within the
// associated message file(s).
*eventId = 0;
*category = 0;
}
可以在此处category
和此处分别找到MSDN 事件日志记录文档的文档。eventID
使用 be.WindowsEventLog。
不,我不相信,就像您使用来自多个进程的事件日志一样。