нл:: Переплетение:: Профили:: DataManagement_Current:: Управление журналированием

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

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

Краткое содержание

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

LoggingManagement ( nl::Weave::WeaveExchangeManager *inMgr, size_t inNumBuffers, const LogStorageResources *const inLogStorageResources)
Конструктор LoggingManagement .
LoggingManagement (void)
Конструктор по умолчанию LoggingManagement .

Общественные функции

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)

Общественные функции

БлитЭвент

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 , описывающие метку времени и другие теги, относящиеся к этому событию.

ОтменаЗавершение работыВ процессе

void CancelShutdownInProgress(
  void
)

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

ПроверитьСледует выполнитьWDM

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
В противном случае

Загрузить события

WEAVE_ERROR LoadEvents(
  TLVReader & reader
)

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

ЖурналСобытие

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

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

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

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

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

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

Подробности
Параметры
[in] inSchema
Схема , определяющая важность, идентификатор профиля и тип структуры этого события.
[in] inEventWriter
Обратный вызов, который нужно вызвать для фактической сериализации данных события.
[in] inAppData
Контекст приложения для обратного вызова.
[in] inOptions
Параметры метаданных события. Может быть НУЛЬ.
Возврат
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 .

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

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

ОтметитьShutdownInProgress

void MarkShutdownInProgress(
  void
)

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

УведомитьСобытияДоставлено

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

РегистрацияEventCallbackForImportance

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
Обратный вызов функции null или нет событий для регистрации.
WEAVE_NO_ERROR
Об успехе.

РегистрацияEventCallbackForImportance

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
Обратный вызов функции null или нет событий для регистрации.
WEAVE_NO_ERROR
Об успехе.

РегистрацияEventCallbackForImportance

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
Обратный вызов функции null или нет событий для регистрации.
WEAVE_NO_ERROR
Об успехе.

РасписаниеFlushIfNeeded

WEAVE_ERROR ScheduleFlushIfNeeded(
  bool inFlushRequested
)

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

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

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

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

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

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

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

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

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

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

Сериализация событий

WEAVE_ERROR SerializeEvents(
  TLVWriter & writer
)

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

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

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

УстановитьBDXUploader

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
)

ПропуститьСобытие

void SkipEvent(
  EventLoadOutContext *aContext
)

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

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

Дроссельный регистратор

void ThrottleLogger(
  void
)

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

Отменить регистрациюEventCallbackForImportance

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
)