如何使用Pantheios将日志消息发送到Windows事件日志?
和
如果我使用Pantheious从多个进程中执行此操作,那么它是否为进程 安全?我会得到裂缝吗?
答案 0 :(得分:3)
您需要执行以下操作:
您需要链接be.WindowsEventLog
在Windows上,可以通过将#include <pantheios/implicit_link/be.WindowsEventLog.h>
添加到其中一个编译单元来使用隐式链接来完成。
此外,必须定义特定于应用程序的函数pantheios_be_WindowsEventLog_calcCategoryAndEventId()
(在docs中的 tiny 注释中指定:< strong> 注意 这是一个应用程序指定的函数。。
在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
和eventID
的文档分别位于MSDN Event Logging docs here和here。
答案 1 :(得分:0)
使用be.WindowsEventLog。
不,我不相信,比你从多个进程使用事件日志更多。