nl::Weave::Profiles::DataManagement_Current::LoggingManagement

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

Una classe per la gestione dei log eventi in memoria.

Riepilogo

Costruttori e distruttori

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

Funzioni pubbliche

BlitEvent(EventLoadOutContext *aContext, const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions)
Funzione helper per la scrittura di intestazioni e dati degli eventi in base al protocollo di logging degli eventi.
CancelShutdownInProgress(void)
void
Imposta il flag mShutdownInProgress su false.
CheckShouldRunWDM(void)
bool
Decidi se trasferire gli eventi in base al numero di byte nei buffer di eventi non pianificati per il caricamento.
FetchEventsSince(nl::Weave::TLV::TLVWriter & ioWriter, ImportanceType inImportance, event_id_t & ioEventID)
Una funzione per recuperare eventi di importanza specificata a partire da un ID evento specificato.
GetBytesWritten(void) const
uint32_t
Recupera il numero totale di byte scritti (per tutte le importazioni degli eventi) in questo log sin dalla creazione dell'istanza.
GetEventReader(nl::Weave::TLV::TLVReader & ioReader, ImportanceType inImportance)
Metodo di supporto utile per esaminare i buffer di log in memoria.
GetFirstEventID(ImportanceType inImportance)
Recupera il primo ID evento attualmente memorizzato per un determinato livello di importanza.
GetLastEventID(ImportanceType inImportance)
Recupera l'ID venduto più di recente per un determinato livello di importanza.
IsShutdownInProgress(void)
bool
Seleziona il flag mShutdownInProgress.
IsValid(void)
bool
IsValid restituisce se l'istanza LoggingManagement è valida.
LoadEvents(TLVReader & reader)
Carica un evento Weave persistente in precedenza.
LogEvent(const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions)
Registra un evento tramite callback, con opzioni.
MarkShutdownInProgress(void)
void
Imposta il flag mShutdownInProgress su 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)
L'API pubblica per la registrazione di un insieme di eventi archiviati esternamente.
RegisterEventCallbackForImportance(ImportanceType inImportance, FetchExternalEventsFunct inFetchCallback, NotifyExternalEventsDeliveredFunct inNotifyCallback, size_t inNumEvents, event_id_t *outLastEventID)
L'API pubblica per la registrazione di un insieme di eventi archiviati esternamente.
RegisterEventCallbackForImportance(ImportanceType inImportance, FetchExternalEventsFunct inFetchCallback, size_t inNumEvents, event_id_t *outLastEventID)
L'API pubblica per la registrazione di un insieme di eventi archiviati esternamente.
ScheduleFlushIfNeeded(bool inFlushRequested)
Pianifica un'attività di offload dei log.
SerializeEvents(TLVWriter & writer)
Serializza gli eventi Weave di tutti i tipi di importanza.
SetBDXUploader(LogBDXUpload *inUploader)
void
SetExchangeManager(nl::Weave::WeaveExchangeManager *inMgr)
Imposta WeaveExchangeManager da utilizzare con questo sottosistema di logging.
SetLoggingEndpoint(event_id_t *inEventEndpoints, size_t inNumImportanceLevels, size_t & outLoggingPosition)
SkipEvent(EventLoadOutContext *aContext)
void
Funzione helper per saltare la scrittura di un evento corrispondente a un ID evento allocato.
ThrottleLogger(void)
void
ThrottleLogger aumenta il livello di registrazione effettivo al livello di produzione.
UnregisterEventCallbackForImportance(ImportanceType inImportance, event_id_t inEventID)
void
L'API pubblica per l'annullamento della registrazione di un insieme di eventi archiviati esternamente.
UnthrottleLogger(void)
void
UnthrottleLogger ripristina il livello di logging effettivo al livello di logging configurato.

Funzioni statiche pubbliche

CreateLoggingManagement(nl::Weave::WeaveExchangeManager *inMgr, size_t inNumBuffers, const LogStorageResources *const inLogStorageResources)
void
Crea l'oggetto LoggingManagement e inizializza il sottosistema di gestione dei log con le risorse fornite.
DestroyLoggingManagement(void)
void
Eseguire le azioni necessarie alla chiusura.
GetInstance(void)

Funzioni pubbliche

BlitEvent

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

Funzione helper per la scrittura di intestazioni e dati degli eventi in base al protocollo di logging degli eventi.

Dettagli
Parametri
[in,out] aContext
EventLoadOutContext, inizializzato con informazioni stateful per il buffer. Lo stato viene aggiornato e conservato da BlitEvent utilizzando questo contesto.
[in] inSchema
Schema che definisce l'importanza, l'ID profilo e il tipo di struttura dell'evento.
[in] inEventWriter
Il callback da richiamare per serializzare i dati degli eventi.
[in] inAppData
Contesto dell'applicazione per il callback.
[in] inOptions
EventOptions che descrivono il timestamp e altri tag pertinenti all'evento.

CancelShutdownInProgress

void CancelShutdownInProgress(
  void
)

Imposta il flag mShutdownInProgress su false.

CheckShouldRunWDM

bool CheckShouldRunWDM(
  void
)

Decidi se trasferire gli eventi in base al numero di byte nei buffer di eventi non pianificati per il caricamento.

Il comportamento della funzione è controllato tramite la costante WEAVE_CONFIG_EVENT_LOGGING_BYTE_THRESHOLD. Se il sistema ha scritto più di quel numero di byte dall'ultima volta che è stata inviata una notifica WDM, la funzione indicherà che è ora di attivare NotificationEngine.

Dettagli
Valori restituiti
true
Gli eventi devono essere scaricati
false
In caso contrario

FetchEventsSince

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

Una funzione per recuperare eventi di importanza specificata a partire da un ID evento specificato.

Dati nl::Weave::TLV::TLVWriter, un tipo di importanza e un ID evento, la funzione recupererà gli eventi di importanza specificata a partire dall'evento specificato. La funzione continuerà a recuperare gli eventi finché non esaurisce lo spazio in nl::Weave::TLV::TLVWriter o nel log. La funzione termina la scrittura dell'evento al limite dell'evento.

Dettagli
Parametri
[in] ioWriter
L'autore da utilizzare per l'archiviazione degli eventi
[in] inImportance
L'importanza degli eventi da recuperare
[in,out] ioEventID
Al momento dell'input, l'ID dell'evento immediatamente prima di quello in fase di recupero. Al completamento, viene recuperato l'ID dell'ultimo evento.
Valori restituiti
WEAVE_END_OF_TLV
La funzione ha raggiunto la fine delle voci di log disponibili al livello di importanza specificato
WEAVE_ERROR_NO_MEMORY
Lo spazio della funzione in ioWriter è esaurito. Sono disponibili altri eventi nel log.
WEAVE_ERROR_BUFFER_TOO_SMALL
Lo spazio della funzione in ioWriter è esaurito. Sono disponibili altri eventi nel log.

GetBytesWritten

uint32_t GetBytesWritten(
  void
) const 

Recupera il numero totale di byte scritti (per tutte le importazioni degli eventi) in questo log sin dalla creazione dell'istanza.

Dettagli
Restituisce
Il numero di byte scritti nel log.

GetEventReader

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

Metodo di supporto utile per esaminare i buffer di log in memoria.

Dettagli
Parametri
[in,out] ioReader
Un riferimento al lettore che verrà inizializzato con lo spazio di archiviazione di supporto del log eventi
[in] inImportance
L'importanza iniziale per il lettore. Tieni presente che in questo caso l'importanza iniziale è in qualche modo controintuitiva: gli eventi più importanti condividono i buffer con quelli meno importanti, oltre ai buffer dedicati. Di conseguenza, il lettore attraverserà il minor numero di dati quando viene trasmessa l'importanza di debug.
Restituisce
WEAVE_NO_ERROR Incondizionatamente.

GetFirstEventID

event_id_t GetFirstEventID(
  ImportanceType inImportance
)

Recupera il primo ID evento attualmente memorizzato per un determinato livello di importanza.

Dettagli
Parametri
inImportance
Livello di importanza
Restituisce
event_id_t Primo ID evento attualmente memorizzato per quell'importanza dell'evento

GetLastEventID

event_id_t GetLastEventID(
  ImportanceType inImportance
)

Recupera l'ID venduto più di recente per un determinato livello di importanza.

Dettagli
Parametri
inImportance
Livello di importanza
Restituisce
event_id_t ID evento distribuito più di recente per l'importanza dell'evento

IsShutdownInProgress

bool IsShutdownInProgress(
  void
)

Seleziona il flag mShutdownInProgress.

IsValid

bool IsValid(
  void
)

IsValid restituisce se l'istanza LoggingManagement è valida.

Dettagli
Valori restituiti
true
L'istanza è valida (inizializzata con l'archivio di supporto appropriato)
false
In caso contrario

LoadEvents

WEAVE_ERROR LoadEvents(
  TLVReader & reader
)

Carica un evento Weave persistente in precedenza.

LogEvent

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

Registra un evento tramite callback, con opzioni.

La funzione registra un evento rappresentato come EventWriterFunct e un contesto appData specifico dell'app. La funzione scrive i metadati dell'evento e chiama inEventWriter con un riferimento nl::Weave::TLV::TLVWriter e un contesto inAppData in modo che il codice utente possa inviare i dati sull'evento direttamente nel log eventi. Questo tipo di logging eventi riduce al minimo il consumo di memoria, poiché i dati degli eventi vengono serializzati direttamente nel buffer di destinazione. I dati sull'evento DEVONO contenere tag di contesto da interpretare all'interno dello schema identificato da inProfileID e inEventType. Il tag del primo elemento verrà ignorato; il sistema di logging eventi lo sostituirà con il tag eventData.

L'evento viene registrato se l'importanza dello schema supera la soglia di logging specificata in LoggingConfiguration. Se l'importanza dell'evento non soddisfa la soglia attuale, l'evento viene eliminato e la funzione restituisce 0 come ID evento risultante.

Questa variante della chiamata consente al chiamante di impostare qualsiasi combinazione di EventOptions:

  • Timestamp, quando il valore predefinito di 0 corrisponde all'ora corrente al momento della chiamata,
  • "radice" sezione dell'origine evento (origine evento e ID trait); se NULL, il valore predefinito sarà il dispositivo attuale. l'evento sia contrassegnato come relativo al dispositivo che effettua la chiamata.
  • un ID evento correlato per raggruppare gli ID evento; Quando l'ID evento correlato è 0, l'evento viene contrassegnato come non correlato ad altri eventi.
  • urgenza; non urgente per impostazione predefinita.

Dettagli
Parametri
[in] inSchema
Schema che definisce l'importanza, l'ID profilo e il tipo di struttura dell'evento.
[in] inEventWriter
Il callback da richiamare per serializzare effettivamente i dati degli eventi
[in] inAppData
Contesto dell'applicazione per il callback.
[in] inOptions
Le opzioni per i metadati dell'evento. Potrebbe essere NULL.
Restituisce
event_id_t L'ID evento se l'evento è stato scritto nel log, altrimenti è 0.

LoggingManagement

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

Costruttore LoggingManagement.

Inizializza LoggingManagement con un array di LogStorageResources. L'array deve fornire una risorsa per ogni livello di importanza valido, gli elementi dell'array devono essere in valore numerico crescente e decrescente; il primo elemento dell'array corrisponde alle risorse allocate per gli eventi più critici e l'ultimo agli eventi meno importanti.

Dettagli
Parametri
[in] inMgr
WeaveExchangeManager da utilizzare con questo sottosistema di logging
[in] inNumBuffers
Numero di elementi nell'array inLogStorageResources
[in] inLogStorageResources
Un array di LogStorageResources per ogni livello di importanza.

LoggingManagement

 LoggingManagement(
  void
)

Costruttore predefinito LoggingManagement.

Forniti principalmente per soddisfare le esigenze del compilatore.

Dettagli
Restituisce

MarkShutdownInProgress

void MarkShutdownInProgress(
  void
)

Imposta il flag mShutdownInProgress su 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
)

L'API pubblica per la registrazione di un insieme di eventi archiviati esternamente.

Registra un callback per il modulo FetchExternalEventsFunct. Questa API richiede che la piattaforma conosca il numero di eventi registrati. Anche il funzionamento interno richiede che questo numero sia costante. Poiché questa API non consente alla piattaforma di registrare ID evento specifici, impedisce alla piattaforma di conservare in modo permanente l'archiviazione degli eventi (almeno con ID evento univoci).

Il callback verrà chiamato ogni volta che un sottoscrittore tenta di recuperare gli ID evento nell'intervallo un numero qualsiasi di volte fino all'annullamento della registrazione.

Questa variante della funzione deve essere utilizzata quando il provider esterno vuole ricevere una notifica sia quando gli eventi sono stati inviati a un sottoscrittore sia se l'oggetto eventi esterni viene rimosso.

Quando gli eventi vengono recapitati, il provider esterno riceve una notifica in merito, insieme all'ID nodo del destinatario e all'ID dell'ultimo evento recapitato a quel destinatario. Tieni presente che il provider esterno potrebbe ricevere più notifiche per lo stesso ID evento. Non ci sono limitazioni specifiche per il gestore; in particolare, il gestore può annullare la registrazione degli ID evento esterni.

Se l'oggetto eventi esterni viene rimosso dai buffer di log, il provider esterno viene avvisato insieme a una copia dell'oggetto eventi esterni.

Il puntatore allo struct ExternalEvents sarà NULL in caso di errore, altrimenti verrà compilato con gli ID evento di inizio e fine assegnati al callback. Questo puntatore deve essere utilizzato per annullare la registrazione dell'insieme di eventi.

Per informazioni dettagliate su cosa deve implementare il callback, consulta la documentazione di FetchExternalEventsFunct.

Dettagli
Parametri
[in] inImportance
Livello di importanza
[in] inFetchCallback
Callback per la registrazione per il recupero degli eventi esterni
[in] inNotifyCallback
Richiamata per registrazione alla notifica di consegna
[in] inEvictedCallback
Richiamata per registrarsi per la notifica di eliminazione
[in] inNumEvents
Numero di eventi in questo insieme
[out] outLastEventID
Punta a un event_id_t; Se gli eventi esterni vengono registrati correttamente, la funzione memorizza l'ID evento corrispondente all'ultimo ID evento del blocco di eventi esterno. Il parametro può essere NULL.
Valori restituiti
WEAVE_ERROR_NO_MEMORY
Se non sono disponibili altri spazi di callback.
WEAVE_ERROR_INVALID_ARGUMENT
Callback di funzione nullo o nessun evento da registrare.
WEAVE_NO_ERROR
Un successo.

RegisterEventCallbackForImportance

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

L'API pubblica per la registrazione di un insieme di eventi archiviati esternamente.

Registra un callback per il modulo FetchExternalEventsFunct. Questa API richiede che la piattaforma conosca il numero di eventi registrati. Anche il funzionamento interno richiede che questo numero sia costante. Poiché questa API non consente alla piattaforma di registrare ID evento specifici, impedisce alla piattaforma di conservare in modo permanente l'archiviazione degli eventi (almeno con ID evento univoci).

Il callback verrà chiamato ogni volta che un sottoscrittore tenta di recuperare gli ID evento nell'intervallo un numero qualsiasi di volte fino all'annullamento della registrazione.

Questa variante della funzione deve essere utilizzata quando il provider esterno vuole ricevere una notifica quando gli eventi vengono inviati a un sottoscrittore, ma non quando l'oggetto eventi esterni viene rimosso. Quando gli eventi vengono recapitati, il provider esterno riceve una notifica in merito, insieme all'ID nodo del destinatario e all'ID dell'ultimo evento recapitato a quel destinatario. Tieni presente che il provider esterno potrebbe ricevere più notifiche per lo stesso ID evento. Non ci sono limitazioni specifiche per il gestore; in particolare, il gestore può annullare la registrazione degli ID evento esterni.

Il puntatore allo struct ExternalEvents sarà NULL in caso di errore, altrimenti verrà compilato con gli ID evento di inizio e fine assegnati al callback. Questo puntatore deve essere utilizzato per annullare la registrazione dell'insieme di eventi.

Per informazioni dettagliate su cosa deve implementare il callback, consulta la documentazione di FetchExternalEventsFunct.

Dettagli
Parametri
[in] inImportance
Livello di importanza
[in] inCallback
Callback per la registrazione per il recupero degli eventi esterni
[in] inNotifyCallback
Richiamata per registrazione alla notifica di consegna
[in] inNumEvents
Numero di eventi in questo insieme
[out] outLastEventID
Punta a un event_id_t; Se gli eventi esterni vengono registrati correttamente, la funzione memorizza l'ID evento corrispondente all'ultimo ID evento del blocco di eventi esterno. Il parametro può essere NULL.
Valori restituiti
WEAVE_ERROR_NO_MEMORY
Se non sono disponibili altri spazi di callback.
WEAVE_ERROR_INVALID_ARGUMENT
Callback di funzione nullo o nessun evento da registrare.
WEAVE_NO_ERROR
Un successo.

RegisterEventCallbackForImportance

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

L'API pubblica per la registrazione di un insieme di eventi archiviati esternamente.

Registra un callback per il modulo FetchExternalEventsFunct. Questa API richiede che la piattaforma conosca il numero di eventi registrati. Anche il funzionamento interno richiede che questo numero sia costante. Poiché questa API non consente alla piattaforma di registrare ID evento specifici, impedisce alla piattaforma di conservare in modo permanente l'archiviazione degli eventi (almeno con ID evento univoci).

Il callback verrà chiamato ogni volta che un sottoscrittore tenta di recuperare gli ID evento nell'intervallo un numero qualsiasi di volte fino all'annullamento della registrazione.

Questa variante della funzione deve essere utilizzata quando il provider esterno desidera una notifica né quando gli eventi esterni sono stati inviati né quando l'oggetto eventi esterni viene rimosso.

Il puntatore allo struct ExternalEvents sarà NULL in caso di errore, altrimenti verrà compilato con gli ID evento di inizio e fine assegnati al callback. Questo puntatore deve essere utilizzato per annullare la registrazione dell'insieme di eventi.

Per informazioni dettagliate su cosa deve implementare il callback, consulta la documentazione di FetchExternalEventsFunct.

Dettagli
Parametri
[in] inImportance
Livello di importanza
[in] inCallback
Callback per la registrazione per il recupero degli eventi esterni
[in] inNumEvents
Numero di eventi in questo insieme
[out] outLastEventID
Punta a un event_id_t; Se gli eventi esterni vengono registrati correttamente, la funzione memorizza l'ID evento corrispondente all'ultimo ID evento del blocco di eventi esterno. Il parametro può essere NULL.
Valori restituiti
WEAVE_ERROR_NO_MEMORY
Se non sono disponibili altri spazi di callback.
WEAVE_ERROR_INVALID_ARGUMENT
Callback di funzione nullo o nessun evento da registrare.
WEAVE_NO_ERROR
Un successo.

ScheduleFlushIfNeeded

WEAVE_ERROR ScheduleFlushIfNeeded(
  bool inFlushRequested
)

Pianifica un'attività di offload dei log.

La funzione decide se pianificare un processo di offload dell'attività e, in questo caso, pianifica l'esecuzione di LoggingFlushHandler in modo asincrono sul thread Weave.

La decisione di pianificare un lavaggio dipende da tre fattori:

una richiesta esplicita di svuotare il buffer

lo stato del buffer di eventi e la quantità di dati non ancora sincronizzati con i consumer di eventi.

se è presente un evento di richiesta di svuotamento della richiesta già in attesa.

La richiesta esplicita di pianificare uno svuotamento viene passata tramite un parametro di input.

In genere, lo svuotamento automatico viene pianificato quando i buffer di eventi contengono dati sufficienti per meritare l'avvio di un nuovo offload. A seconda della strategia di offload, possono essere presi in considerazione anche altri trigger, come il tempo minimo e massimo tra gli offload.

Lo stato In attesa del log eventi è indicato dalla variabile mUploadRequested. Poiché questa funzione può essere chiamata da più thread, è necessario leggere e impostare mUploadRequested a livello atomico, per evitare di pianificare un LoggingFlushHandler ridondante prima dell'invio della notifica.

Dettagli
Parametri
inRequestFlush
Un valore booleano che indica se lo svuotamento deve essere pianificato a prescindere dal criterio di gestione del buffer interno.
Valori restituiti
WEAVE_ERROR_INCORRECT_STATE
Il modulo LoggingManagement non è stato inizializzato completamente.
WEAVE_NO_ERROR
Un successo.

SerializeEvents

WEAVE_ERROR SerializeEvents(
  TLVWriter & writer
)

Serializza gli eventi Weave di tutti i tipi di importanza.

Serializza gli eventi in WeaveCircularTLVBuffer e gli stati associati nel buffer fornito.

Questo metodo è stato concepito per essere utilizzato da dispositivi che non conservano la RAM durante il sonno, consentendo loro di persistere gli eventi prima di andare a dormire e quindi prevenire la perdita di eventi

SetBDXUploader

void SetBDXUploader(
  LogBDXUpload *inUploader
)

SetExchangeManager

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

Imposta WeaveExchangeManager da utilizzare con questo sottosistema di logging.

Su alcune piattaforme, questa operazione potrebbe dover essere eseguita separatamente da CreateLoggingManagement() sopra.

Dettagli
Parametri
[in] inMgr
WeaveExchangeManager da utilizzare con questo sottosistema di logging

SetLoggingEndpoint

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

SkipEvent

void SkipEvent(
  EventLoadOutContext *aContext
)

Funzione helper per saltare la scrittura di un evento corrispondente a un ID evento allocato.

Dettagli
Parametri
[in,out] aContext
EventLoadOutContext, inizializzato con informazioni stateful per il buffer. Lo stato viene aggiornato e conservato da BlitEvent utilizzando questo contesto.

ThrottleLogger

void ThrottleLogger(
  void
)

ThrottleLogger aumenta il livello di registrazione effettivo al livello di produzione.

UnregisterEventCallbackForImportance

void UnregisterEventCallbackForImportance(
  ImportanceType inImportance,
  event_id_t inEventID
)

L'API pubblica per l'annullamento della registrazione di un insieme di eventi archiviati esternamente.

L'annullamento della registrazione del callback impedirà a LoggingManagement di chiamare il callback per un insieme di eventi. LoggingManagement non invierà più questi ID evento ai sottoscrittori.

Lo scopo è che una funzione gestisca un insieme di eventi alla volta. Se è necessario registrare un nuovo insieme di eventi utilizzando la stessa funzione, occorre prima annullare la registrazione e poi ripetere la registrazione del callback. Ciò significa che l'insieme originale di eventi non può più essere recuperato.

Questa funzione ha esito positivo incondizionatamente. Se il callback non è mai stato registrato o se l'ha già annullata, la richiamata è indipendente.

Dettagli
Parametri
[in] inImportance
Livello di importanza
[in] inEventID
Un ID evento corrispondente a uno qualsiasi degli eventi nel blocco eventi esterno di cui annullare la registrazione.

UnthrottleLogger

void UnthrottleLogger(
  void
)

UnthrottleLogger ripristina il livello di logging effettivo al livello di logging configurato.

Funzioni statiche pubbliche

CreateLoggingManagement

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

Crea l'oggetto LoggingManagement e inizializza il sottosistema di gestione dei log con le risorse fornite.

Inizializza LoggingManagement con un array di LogStorageResources. L'array deve fornire una risorsa per ogni livello di importanza valido, gli elementi dell'array devono essere in valore numerico crescente e decrescente; il primo elemento dell'array corrisponde alle risorse allocate per gli eventi più critici e l'ultimo agli eventi meno importanti.

Dettagli
Parametri
[in] inMgr
WeaveExchangeManager da utilizzare con questo sottosistema di logging
[in] inNumBuffers
Numero di elementi nell'array inLogStorageResources
[in] inLogStorageResources
Un array di LogStorageResources per ogni livello di importanza.

DestroyLoggingManagement

void DestroyLoggingManagement(
  void
)

Eseguire le azioni necessarie alla chiusura.

GetInstance

LoggingManagement & GetInstance(
  void
)