Google is committed to advancing racial equity for Black communities. See how.
Эта страница переведена с помощью Cloud Translation API.
Switch to English

nl :: Плетение :: Профили: DataManagement_Current :: Ведение журнала

#include <src/lib/profiles/data-management/Current/LoggingManagement.h>

Класс для управления журналами событий в памяти.

Резюме

Конструкторы и деструкторы

LoggingManagement ( nl::Weave::WeaveExchangeManager *inMgr, size_t inNumBuffers, const LogStorageResources *const inLogStorageResources)
LoggingManagement (void)

Публичные функции

BlitEvent ( EventLoadOutContext *aContext, const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions)
Вспомогательная функция для записи заголовка события и данных в соответствии с протоколом регистрации событий.
CancelShutdownInProgress (void)
void
Установите для флага mShutdownInProgress значение false.
CheckShouldRunWDM (void)
bool
Решите, следует ли выгружать события, исходя из количества байтов в буферах событий, незапланированных для загрузки.
FetchEventsSince (nl::Weave::TLV::TLVWriter & ioWriter, ImportanceType inImportance, event_id_t & ioEventID)
Функция для получения событий указанной важности с момента указанного идентификатора события.
GetBytesWritten (void) const
uint32_t
Получите общее количество байтов, записанных (по всем значениям событий) в этот журнал с момента его создания.
GetEventReader (nl::Weave::TLV::TLVReader & ioReader, ImportanceType inImportance)
Вспомогательный метод, полезный для исследования буферов журнала в памяти.
GetFirstEventID ( ImportanceType inImportance)
Получение первого идентификатора события, хранящегося в настоящее время для определенного уровня важности.
GetLastEventID ( ImportanceType inImportance)
Получите последний выданный идентификатор для определенного уровня важности.
IsShutdownInProgress (void)
bool
Проверьте флаг mShutdownInProgress.
IsValid (void)
bool
IsValid возвращает, действителен ли экземпляр LoggingManagement .
LoadEvents (TLVReader & reader)
Загрузить ранее сохраненное событие Weave.
LogEvent (const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions)
Зарегистрируйте событие с помощью обратного вызова с параметрами.
MarkShutdownInProgress (void)
void
Установите для флага mShutdownInProgress значение true.
NotifyEventsDelivered ( ImportanceType inImportance, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID)
void
RegisterEventCallbackForImportance ( ImportanceType inImportance, FetchExternalEventsFunct inFetchCallback, NotifyExternalEventsDeliveredFunct inNotifyCallback, NotifyExternalEventsEvictedFunct inEvictedCallback, size_t inNumEvents, event_id_t *outLastEventID)
Публичный API для регистрации набора внешних событий.
RegisterEventCallbackForImportance ( ImportanceType inImportance, FetchExternalEventsFunct inFetchCallback, NotifyExternalEventsDeliveredFunct inNotifyCallback, size_t inNumEvents, event_id_t *outLastEventID)
Публичный API для регистрации набора внешних событий.
RegisterEventCallbackForImportance ( ImportanceType inImportance, FetchExternalEventsFunct inFetchCallback, size_t inNumEvents, event_id_t *outLastEventID)
Публичный API для регистрации набора внешних событий.
ScheduleFlushIfNeeded (bool inFlushRequested)
Запланируйте задачу выгрузки журнала.
SerializeEvents (TLVWriter & writer)
Сериализируйте события Weave всех типов важности.
SetBDXUploader ( LogBDXUpload *inUploader)
void
SetExchangeManager ( nl::Weave::WeaveExchangeManager *inMgr)
Установите WeaveExchangeManager для использования с этой подсистемой ведения журнала.
SetLoggingEndpoint ( event_id_t *inEventEndpoints, size_t inNumImportanceLevels, size_t & outLoggingPosition)
SkipEvent ( EventLoadOutContext *aContext)
void
Вспомогательная функция для пропуска записи события, соответствующего выделенному идентификатору события.
ThrottleLogger (void)
void
ThrottleLogger поднимает эффективный уровень ведения журнала до уровня «Производство».
UnregisterEventCallbackForImportance ( ImportanceType inImportance, event_id_t inEventID)
void
Общедоступный API для отмены регистрации набора событий, хранящихся извне.
UnthrottleLogger (void)
void
UnthrottleLogger восстанавливает эффективный уровень ведения журнала до настроенного уровня ведения журнала.

Публичные статические функции

CreateLoggingManagement ( nl::Weave::WeaveExchangeManager *inMgr, size_t inNumBuffers, const LogStorageResources *const inLogStorageResources)
void
Создайте объект LoggingManagement и инициализируйте подсистему управления журналированием с предоставленными ресурсами.
DestroyLoggingManagement (void)
void
Выполните все необходимые действия при выключении.
GetInstance (void)

Публичные функции

BlitEvent

WEAVE_ERROR BlitEvent(
  EventLoadOutContext *aContext,
  const EventSchema & inSchema,
  EventWriterFunct inEventWriter,
  void *inAppData,
  const EventOptions *inOptions
)

Вспомогательная функция для записи заголовка события и данных в соответствии с протоколом регистрации событий.

Подробности
Параметры
[in,out] aContext
EventLoadOutContext , инициализированный информацией о состоянии для буфера. Состояние обновляется и сохраняется BlitEvent с использованием этого контекста.
[in] inSchema
Схема, определяющая важность, идентификатор профиля и тип структуры этого события.
[in] inEventWriter
Обратный вызов, вызываемый для сериализации данных события.
[in] inAppData
Контекст приложения для обратного вызова.
[in] inOptions
EventOptions, описывающие метку времени и другие теги, относящиеся к этому событию.

ОтменаShutdownInProgress

void CancelShutdownInProgress(
  void
)

Установите для флага mShutdownInProgress значение false.

CheckShouldRunWDM

bool CheckShouldRunWDM(
  void
)

Решите, следует ли выгружать события, исходя из количества байтов в буферах событий, незапланированных для загрузки.

Поведение функции контролируется константой WEAVE_CONFIG_EVENT_LOGGING_BYTE_THRESHOLD . Если система записала больше, чем это количество байтов с момента последней отправки уведомления WDM, функция укажет, что пора запустить NotificationEngine .

Подробности
Возвращаемые значения
true
События должны быть выгружены
false
Иначе

FetchEventsSince

WEAVE_ERROR FetchEventsSince(
  nl::Weave::TLV::TLVWriter & ioWriter,
  ImportanceType inImportance,
  event_id_t & ioEventID
)

Функция для получения событий указанной важности с момента указанного идентификатора события.

Учитываяnl :: Weave :: TLV :: TLVWriter , тип важности и идентификатор события, функция будет извлекать события указанной важности с момента указанного события. Функция будет продолжать выборку событий до тех пор, пока не закончится свободное место вnl :: Weave :: TLV :: TLVWriter или в журнале. Функция прекратит запись события на границе события.

Подробности
Параметры
[in] ioWriter
Писатель для хранения событий
[in] inImportance
Важность событий, которые нужно получить
[in,out] ioEventID
При вводе идентификатор события непосредственно перед тем, которое мы получаем. По завершении идентификатор последнего извлеченного события.
Возвращаемые значения
WEAVE_END_OF_TLV
Функция достигла конца доступных записей журнала на указанном уровне важности.
WEAVE_ERROR_NO_MEMORY
Для функции закончилось место в ioWriter, доступно больше событий в журнале.
WEAVE_ERROR_BUFFER_TOO_SMALL
Для функции закончилось место в ioWriter, доступно больше событий в журнале.

GetBytesWritten

uint32_t GetBytesWritten(
  void
) const 

Получите общее количество байтов, записанных (по всем значениям событий) в этот журнал с момента его создания.

Подробности
Возврат
Количество байтов, записываемых в журнал.

GetEventReader

WEAVE_ERROR GetEventReader(
  nl::Weave::TLV::TLVReader & ioReader,
  ImportanceType inImportance
)

Вспомогательный метод, полезный для проверки буферов журнала в памяти.

Подробности
Параметры
[in,out] ioReader
Ссылка на считыватель, который будет инициализирован резервным хранилищем из журнала событий.
[in] inImportance
Стартовое значение для читателя. Обратите внимание, что в этом случае начальная важность несколько противоречит интуиции: более важные события совместно используют буферы с менее важными событиями в дополнение к их выделенным буферам. В результате читатель будет просматривать наименьшее количество данных при передаче важности отладки.
Возврат
WEAVE_NO_ERROR Безусловно.

GetFirstEventID

event_id_t GetFirstEventID(
  ImportanceType inImportance
)

Получите первый идентификатор события, сохраненный в настоящее время для определенного уровня важности.

Подробности
Параметры
inImportance
Уровень важности
Возврат
event_id_t Первый сохраненный в настоящее время идентификатор события для этой важности события

GetLastEventID

event_id_t GetLastEventID(
  ImportanceType inImportance
)

Получите последний выданный идентификатор для определенного уровня важности.

Подробности
Параметры
inImportance
Уровень важности
Возврат
event_id_t идентификатор последнего выставленного события для этого события

IsShutdownInProgress

bool IsShutdownInProgress(
  void
)

Проверьте флаг mShutdownInProgress.

Действует

bool IsValid(
  void
)

IsValid возвращает, действителен ли экземпляр LoggingManagement .

Подробности
Возвращаемые значения
true
Экземпляр действителен (инициализирован соответствующим резервным хранилищем)
false
Иначе

LoadEvents

WEAVE_ERROR LoadEvents(
  TLVReader & reader
)

Загрузить ранее сохраненное событие Weave.

LogEvent

event_id_t LogEvent(
  const EventSchema & inSchema,
  EventWriterFunct inEventWriter,
  void *inAppData,
  const EventOptions *inOptions
)

Зарегистрируйте событие с помощью обратного вызова с параметрами.

Функция регистрирует событие, представленное как EventWriterFunct и контекст appData конкретного appData . Функция записывает метаданные события и вызывает inEventWriter со inEventWriternl :: Weave :: TLV :: TLVWriter и контекстом inAppData чтобы пользовательский код мог передавать данные события непосредственно в журнал событий. Эта форма регистрации событий сводит к минимуму потребление памяти, поскольку данные событий сериализуются непосредственно в целевой буфер. Данные события ДОЛЖНЫ содержать теги контекста, которые должны интерпретироваться в схеме, идентифицированной inProfileID и inEventType . Тег первого элемента будет проигнорирован; система регистрации событий заменит его тегом eventData.

Событие регистрируется, если важность схемы превышает порог ведения журнала, указанный в LoggingConfiguration . Если важность события не соответствует текущему порогу, оно отбрасывается, и функция возвращает 0 в качестве результирующего идентификатора события.

Этот вариант вызова позволяет вызывающей стороне устанавливать любую комбинацию EventOptions :

  • отметка времени, когда 0 по умолчанию соответствует текущему времени в точке вызова,
  • «корневой» раздел источника события (источник события и идентификатор признака); если NULL, по умолчанию используется текущее устройство. событие отмечено как относящееся к устройству, с которого осуществляется вызов,
  • идентификатор связанного события для группировки идентификаторов событий; когда ID связанного события равен 0, событие помечается как не относящееся ни к каким другим событиям,
  • острая необходимость; по умолчанию несрочный.

Подробности
Параметры
[in] inSchema
Схема, определяющая важность, идентификатор профиля и тип структуры этого события.
[in] inEventWriter
Обратный вызов, вызываемый для фактической сериализации данных события
[in] inAppData
Контекст приложения для обратного вызова.
[in] inOptions
Параметры метаданных события. Может быть NULL.
Возврат
event_id_t Идентификатор события, если событие было записано в журнал, в противном случае - 0.

Ведение журнала

 LoggingManagement(
  nl::Weave::WeaveExchangeManager *inMgr,
  size_t inNumBuffers,
  const LogStorageResources *const inLogStorageResources
)

Конструктор LoggingManagement .

Инициализируйте LoggingManagement с помощью массива LogStorageResources . Массив должен предоставлять ресурс для каждого допустимого уровня важности, элементы массива должны иметь возрастающее числовое значение важности (и уменьшающееся значение); первый элемент в массиве соответствует ресурсам, выделенным для наиболее важных событий, а последний элемент соответствует наименее важным событиям.

Подробности
Параметры
[in] inMgr
WeaveExchangeManager для использования с этой подсистемой ведения журнала
[in] inNumBuffers
Количество элементов в массиве inLogStorageResources
[in] inLogStorageResources
Массив LogStorageResources для каждого уровня важности.

Ведение журнала

 LoggingManagement(
  void
)

Конструктор по умолчанию LoggingManagement .

Предоставляется в первую очередь для того, чтобы компилятор был доволен

Подробности
Возврат

MarkShutdownInProgress

void MarkShutdownInProgress(
  void
)

Установите для флага mShutdownInProgress значение true.

NotifyEventsDelivered

void NotifyEventsDelivered(
  ImportanceType inImportance,
  event_id_t inLastDeliveredEventID,
  uint64_t inRecipientNodeID
)

RegisterEventCallbackForImportance

WEAVE_ERROR RegisterEventCallbackForImportance(
  ImportanceType inImportance,
  FetchExternalEventsFunct inFetchCallback,
  NotifyExternalEventsDeliveredFunct inNotifyCallback,
  NotifyExternalEventsEvictedFunct inEvictedCallback,
  size_t inNumEvents,
  event_id_t *outLastEventID
)

Публичный API для регистрации набора внешних событий.

Зарегистрируйте обратный вызов формы FetchExternalEventsFunct . Этот API требует, чтобы платформа знала количество событий при регистрации. Внутренняя работа также требует, чтобы это число было постоянным. Поскольку этот API не позволяет платформе регистрировать определенные идентификаторы событий, это не позволяет платформе сохранять хранилище событий (по крайней мере, с уникальными идентификаторами событий).

Обратный вызов будет вызываться всякий раз, когда подписчик пытается получить идентификаторы событий в пределах диапазона любое количество раз, пока он не будет отменен.

Этот вариант функции следует использовать, когда внешний провайдер хочет получать уведомления как о доставке событий подписчику, так и о выселении объекта внешних событий.

Когда события доставляются, внешний провайдер уведомляется об этом вместе с идентификатором узла получателя и идентификатором последнего события, доставленного этому получателю. Обратите внимание, что внешний поставщик может быть уведомлен несколько раз для одного и того же идентификатора события. Для обработчика нет особых ограничений, в частности, обработчик может отменить регистрацию идентификаторов внешних событий.

Если объект внешних событий удаляется из буферов журнала, внешний поставщик уведомляется вместе с копией объекта внешних событий.

Указатель на структуру ExternalEvents будет иметь значение NULL в случае сбоя, в противном случае он будет заполнен идентификаторами начального и конечного события, назначенными обратному вызову. Этот указатель следует использовать для отмены регистрации набора событий.

См. Документацию для FetchExternalEventsFunct, чтобы узнать, что должен реализовывать обратный вызов.

Подробности
Параметры
[in] inImportance
Уровень важности
[in] inFetchCallback
Обратный вызов для регистрации для получения внешних событий
[in] inNotifyCallback
Обратный звонок, чтобы зарегистрироваться для получения уведомления о доставке
[in] inEvictedCallback
Обратный звонок для регистрации для уведомления о выселении
[in] inNumEvents
Количество событий в этом наборе
[out] outLastEventID
Указатель на event_id_t; при успешной регистрации внешних событий функция сохранит идентификатор события, соответствующий последнему идентификатору события блока внешних событий. Параметр может иметь значение NULL.
Возвращаемые значения
WEAVE_ERROR_NO_MEMORY
Если больше нет доступных слотов обратного вызова.
WEAVE_ERROR_INVALID_ARGUMENT
Нулевой обратный вызов функции или нет событий для регистрации.
WEAVE_NO_ERROR
Об успехе.

RegisterEventCallbackForImportance

WEAVE_ERROR RegisterEventCallbackForImportance(
  ImportanceType inImportance,
  FetchExternalEventsFunct inFetchCallback,
  NotifyExternalEventsDeliveredFunct inNotifyCallback,
  size_t inNumEvents,
  event_id_t *outLastEventID
)

Публичный API для регистрации набора внешних событий.

Зарегистрируйте обратный вызов формы FetchExternalEventsFunct . Этот API требует, чтобы платформа знала количество событий при регистрации. Внутренняя работа также требует, чтобы это число было постоянным. Поскольку этот API не позволяет платформе регистрировать определенные идентификаторы событий, это не позволяет платформе сохранять хранилище событий (по крайней мере, с уникальными идентификаторами событий).

Обратный вызов будет вызываться всякий раз, когда подписчик пытается получить идентификаторы событий в пределах диапазона любое количество раз, пока он не будет отменен.

Этот вариант функции следует использовать, когда внешний провайдер хочет получать уведомление о доставке событий подписчику, но не когда объект внешних событий вытесняется. Когда события доставляются, внешний провайдер уведомляется об этом вместе с идентификатором узла получателя и идентификатором последнего события, доставленного этому получателю. Обратите внимание, что внешний поставщик может быть уведомлен несколько раз для одного и того же идентификатора события. Для обработчика нет особых ограничений, в частности, обработчик может отменить регистрацию идентификаторов внешних событий.

Указатель на структуру ExternalEvents будет иметь значение NULL в случае сбоя, в противном случае он будет заполнен идентификаторами начального и конечного события, назначенными обратному вызову. Этот указатель следует использовать для отмены регистрации набора событий.

См. Документацию для FetchExternalEventsFunct, чтобы узнать, что должен реализовывать обратный вызов.

Подробности
Параметры
[in] inImportance
Уровень важности
[in] inCallback
Обратный вызов для регистрации для получения внешних событий
[in] inNotifyCallback
Обратный звонок, чтобы зарегистрироваться для получения уведомления о доставке
[in] inNumEvents
Количество событий в этом наборе
[out] outLastEventID
Указатель на event_id_t; при успешной регистрации внешних событий функция сохранит идентификатор события, соответствующий последнему идентификатору события блока внешних событий. Параметр может иметь значение NULL.
Возвращаемые значения
WEAVE_ERROR_NO_MEMORY
Если больше нет доступных слотов обратного вызова.
WEAVE_ERROR_INVALID_ARGUMENT
Нулевой обратный вызов функции или нет событий для регистрации.
WEAVE_NO_ERROR
Об успехе.

RegisterEventCallbackForImportance

WEAVE_ERROR RegisterEventCallbackForImportance(
  ImportanceType inImportance,
  FetchExternalEventsFunct inFetchCallback,
  size_t inNumEvents,
  event_id_t *outLastEventID
)

Публичный API для регистрации набора внешних событий.

Зарегистрируйте обратный вызов формы FetchExternalEventsFunct . Этот API требует, чтобы платформа знала количество событий при регистрации. Внутренняя работа также требует, чтобы это число было постоянным. Поскольку этот API не позволяет платформе регистрировать определенные идентификаторы событий, это не позволяет платформе сохранять хранилище событий (по крайней мере, с уникальными идентификаторами событий).

Обратный вызов будет вызываться всякий раз, когда подписчик пытается получить идентификаторы событий в пределах диапазона любое количество раз, пока он не будет отменен.

Этот вариант функции следует использовать, когда внешний поставщик не требует уведомления ни о доставке внешних событий, ни о выселении объекта внешних событий.

Указатель на структуру ExternalEvents будет иметь значение NULL в случае сбоя, в противном случае он будет заполнен идентификаторами начального и конечного события, назначенными обратному вызову. Этот указатель следует использовать для отмены регистрации набора событий.

См. Документацию для FetchExternalEventsFunct, чтобы узнать, что должен реализовывать обратный вызов.

Подробности
Параметры
[in] inImportance
Уровень важности
[in] inCallback
Обратный вызов для регистрации для получения внешних событий
[in] inNumEvents
Количество событий в этом наборе
[out] outLastEventID
Указатель на event_id_t; при успешной регистрации внешних событий функция сохранит идентификатор события, соответствующий последнему идентификатору события блока внешних событий. Параметр может иметь значение NULL.
Возвращаемые значения
WEAVE_ERROR_NO_MEMORY
Если больше нет доступных слотов обратного вызова.
WEAVE_ERROR_INVALID_ARGUMENT
Нулевой обратный вызов функции или нет событий для регистрации.
WEAVE_NO_ERROR
Об успехе.

ScheduleFlushIfNeeded

WEAVE_ERROR ScheduleFlushIfNeeded(
  bool inFlushRequested
)

Запланируйте задачу выгрузки журнала.

Функция решает, следует ли планировать процесс разгрузки задачи, и если это так, она планирует асинхронный запуск LoggingFlushHandler в потоке Weave.

Решение о планировании промывки зависит от трех факторов:

явный запрос на очистку буфера

состояние буфера событий и количество данных, которые еще не синхронизированы с потребителями событий

есть ли уже ожидающее обработки событие запроса на сброс.

Явный запрос на планирование сброса передается через входной параметр.

Автоматическая очистка обычно назначается, когда буферы событий содержат достаточно данных, чтобы начать новую разгрузку. Дополнительные триггеры, такие как минимальное и максимальное время между разгрузками, также могут быть приняты во внимание в зависимости от стратегии разгрузки.

Состояние ожидания журнала событий указывается переменной mUploadRequested . Поскольку эта функция может быть вызвана несколькими потоками, mUploadRequested должен быть прочитан и установлен атомарно, чтобы избежать планирования избыточного LoggingFlushHandler до LoggingFlushHandler уведомления.

Подробности
Параметры
inRequestFlush
Логическое значение, указывающее, следует ли планировать сброс независимо от политики управления внутренним буфером.
Возвращаемые значения
WEAVE_ERROR_INCORRECT_STATE
Модуль LoggingManagement не был полностью инициализирован.
WEAVE_NO_ERROR
Об успехе.

SerializeEvents

WEAVE_ERROR SerializeEvents(
  TLVWriter & writer
)

Сериализируйте события Weave всех типов важности.

Сериализует события в WeaveCircularTLVBuffer и связанные состояния в предоставленный буфер.

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

SetBDXUploader

void SetBDXUploader(
  LogBDXUpload *inUploader
)

SetExchangeManager

WEAVE_ERROR SetExchangeManager(
  nl::Weave::WeaveExchangeManager *inMgr
)

Установите WeaveExchangeManager для использования с этой подсистемой ведения журнала.

На некоторых платформах это может потребоваться отдельно от CreateLoggingManagement () выше.

Подробности
Параметры
[in] inMgr
WeaveExchangeManager для использования с этой подсистемой ведения журнала

SetLoggingEndpoint

WEAVE_ERROR SetLoggingEndpoint(
  event_id_t *inEventEndpoints,
  size_t inNumImportanceLevels,
  size_t & outLoggingPosition
)

SkipEvent

void SkipEvent(
  EventLoadOutContext *aContext
)

Вспомогательная функция для пропуска записи события, соответствующего выделенному идентификатору события.

Подробности
Параметры
[in,out] aContext
EventLoadOutContext , инициализированный информацией о состоянии для буфера. Состояние обновляется и сохраняется BlitEvent с использованием этого контекста.

Дроссель

void ThrottleLogger(
  void
)

ThrottleLogger поднимает эффективный уровень ведения журнала до уровня «Производство».

UnregisterEventCallbackForImportance

void UnregisterEventCallbackForImportance(
  ImportanceType inImportance,
  event_id_t inEventID
)

Общедоступный API для отмены регистрации набора событий, хранящихся извне.

Отмена регистрации обратного вызова не позволит LoggingManagement вызвать обратный вызов для набора событий. LoggingManagement больше не будет отправлять эти идентификаторы событий подписчикам.

Цель состоит в том, чтобы одна функция обслуживала набор событий одновременно. Если новый набор событий необходимо зарегистрировать с помощью той же функции, обратный вызов следует сначала отменить регистрацию, а затем снова зарегистрировать. Это означает, что исходный набор событий больше не может быть получен.

Эта функция завершается безоговорочно. Если обратный вызов никогда не регистрировался или уже был отменен, это не работает.

Подробности
Параметры
[in] inImportance
Уровень важности
[in] inEventID
Идентификатор события, соответствующий любому событию во внешнем блоке событий, регистрацию которого необходимо отменить.

UnthrottleLogger

void UnthrottleLogger(
  void
)

UnthrottleLogger восстанавливает эффективный уровень ведения журнала до настроенного уровня ведения журнала.

Публичные статические функции

CreateLoggingManagement

void CreateLoggingManagement(
  nl::Weave::WeaveExchangeManager *inMgr,
  size_t inNumBuffers,
  const LogStorageResources *const inLogStorageResources
)

Создайте объект LoggingManagement и инициализируйте подсистему управления журналированием с предоставленными ресурсами.

Инициализируйте LoggingManagement с помощью массива LogStorageResources . Массив должен предоставлять ресурс для каждого допустимого уровня важности, элементы массива должны иметь возрастающее числовое значение важности (и уменьшающееся значение); первый элемент в массиве соответствует ресурсам, выделенным для наиболее важных событий, а последний элемент соответствует наименее важным событиям.

Подробности
Параметры
[in] inMgr
WeaveExchangeManager для использования с этой подсистемой ведения журнала
[in] inNumBuffers
Количество элементов в массиве inLogStorageResources
[in] inLogStorageResources
Массив LogStorageResources для каждого уровня важности.

Уничтожить

void DestroyLoggingManagement(
  void
)

Выполните все необходимые нам действия при выключении.

GetInstance

LoggingManagement & GetInstance(
  void
)