Вход в Windows событие с использованием библиотеки журналов Pantheios - PullRequest
0 голосов
/ 26 января 2012

Как я могу отправлять сообщения журнала в журнал событий Windows, используя Pantheios?

и

Если я сделаю это из нескольких процессов, используя Pantheious, будет ли это процесс безопасный? Я получу трещины?

Ответы [ 2 ]

3 голосов
/ 13 июня 2013

Вам необходимо сделать следующее:

  1. Вам необходимо связаться с be.WindowsEventLog.
    В Windows это можно сделать с помощью неявного связывания, добавив #include <pantheios/implicit_link/be.WindowsEventLog.h> к одному из ваших модулей компиляции.

  2. Кроме того, вы должны определить специфическую для приложения функцию pantheios_be_WindowsEventLog_calcCategoryAndEventId() (как указано в примечании tiny в документах : Примечание Это функция, определяемая приложением. .

Пример простой реализации можно найти в 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 здесь и здесь соответственно.

0 голосов
/ 31 января 2012
  1. Использовать be.WindowsEventLog.

  2. Нет, я не верю в это, больше, чем вы бы использовали журнал событий из нескольких процессов.

...