0

如何使用 Pantheios 将日志消息发送到 Windows 事件日志?

如果我使用 Pantheious 从多个进程中执行此操作,它会是过程安全的吗?我会患上龟裂吗?

4

2 回答 2

3

您需要执行以下操作:

  1. 您需要与 be.WindowsEventLog 链接。
    在 Windows 上,这可以通过添加#include <pantheios/implicit_link/be.WindowsEventLog.h>到您的编译单元之一来使用隐式链接来完成。

  2. 此外,您必须定义应用程序特定的功能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

于 2013-06-13T11:09:17.407 回答
0
  1. 使用 be.WindowsEventLog。

  2. 不,我不相信,就像您使用来自多个进程的事件日志一样。

于 2012-01-31T03:10:50.923 回答