Ведение журнала событий Windows с использованием библиотеки ведения журнала Pantheios

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

и

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


person Novalis    schedule 26.01.2012    source источник


Ответы (2)


  1. Используйте be.WindowsEventLog.

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

person dcw    schedule 31.01.2012

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

  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 здесь и здесь соответственно.

person Adi Shavit    schedule 13.06.2013