nl:: Weave:: Profile:: DataManagement_Current:: LoggingManagement
#include <src/lib/profiles/data-management/Current/LoggingManagement.h>
Eine Klasse zum Verwalten der In-Memory-Ereignisprotokolle.
Fazit
Konstrukteur und Zerstörer |
|
---|---|
LoggingManagement(nl::Weave::WeaveExchangeManager *inMgr, size_t inNumBuffers, const LogStorageResources *const inLogStorageResources)
LoggingManagement-Konstruktor.
|
|
LoggingManagement(void)
Standard-Konstruktor für LoggingManagement.
|
Öffentliche Funktionen |
|
---|---|
BlitEvent(EventLoadOutContext *aContext, const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions)
|
Hilfsfunktion zum Schreiben von Ereignisheadern und Daten gemäß dem Ereignisprotokollierungsprotokoll.
|
CancelShutdownInProgress(void)
|
void
Setzen Sie das Flag mShutdownInFortschritt auf „false“.
|
CheckShouldRunWDM(void)
|
bool
Legen Sie fest, ob Ereignisse auf Grundlage der Anzahl der Byte in Ereignispuffern entfernt werden sollen, die nicht zum Upload geplant sind.
|
FetchEventsSince(nl::Weave::TLV::TLVWriter & ioWriter, ImportanceType inImportance, event_id_t & ioEventID)
|
Eine Funktion zum Abrufen von Ereignissen einer bestimmten Wichtigkeit seit einer angegebenen Ereignis-ID.
|
GetBytesWritten(void) const
|
uint32_t
Rufen Sie die Gesamtzahl der Byte ab, die seit der Instanziierung in dieses Log geschrieben wurden (über alle wichtigen Ereignisse hinweg).
|
GetEventReader(nl::Weave::TLV::TLVReader & ioReader, ImportanceType inImportance)
|
Eine Hilfsmethode zum Prüfen der In-Memory-Zwischenspeicher.
|
GetFirstEventID(ImportanceType inImportance)
|
Ruft die erste Ereignis-ID ab, die derzeit für eine bestimmte Wichtigkeitsstufe gespeichert ist.
|
GetLastEventID(ImportanceType inImportance)
|
Ermitteln Sie den ID mit der letzten ID für eine bestimmte Wichtigkeitsstufe.
|
IsShutdownInProgress(void)
|
bool
Überprüfen Sie das Flag „mShutdownInFortschritt“.
|
IsValid(void)
|
bool
Ist gültig, ob die Instanz von LoggingManagement gültig ist.
|
LoadEvents(TLVReader & reader)
|
Zuvor geladenes Weave-Ereignis wird geladen.
|
LogEvent(const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions)
|
Ereignis über einen Callback protokollieren, mit Optionen
|
MarkShutdownInProgress(void)
|
void
Setzen Sie das Flag mShutdownInFortschritt auf „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)
|
Die öffentliche API zum Registrieren einer Gruppe von extern gespeicherten Ereignissen.
|
RegisterEventCallbackForImportance(ImportanceType inImportance, FetchExternalEventsFunct inFetchCallback, NotifyExternalEventsDeliveredFunct inNotifyCallback, size_t inNumEvents, event_id_t *outLastEventID)
|
Die öffentliche API zum Registrieren einer Gruppe von extern gespeicherten Ereignissen.
|
RegisterEventCallbackForImportance(ImportanceType inImportance, FetchExternalEventsFunct inFetchCallback, size_t inNumEvents, event_id_t *outLastEventID)
|
Die öffentliche API zum Registrieren einer Gruppe von extern gespeicherten Ereignissen.
|
ScheduleFlushIfNeeded(bool inFlushRequested)
|
Planen Sie eine Log-Auslagerungsaufgabe.
|
SerializeEvents(TLVWriter & writer)
|
Weave-Ereignisse aller Arten serialisiert
|
SetBDXUploader(LogBDXUpload *inUploader)
|
void
|
SetExchangeManager(nl::Weave::WeaveExchangeManager *inMgr)
|
Legen Sie den WeaveExchangeManager fest, der für dieses Logging-Subsystem verwendet werden soll.
|
SetLoggingEndpoint(event_id_t *inEventEndpoints, size_t inNumImportanceLevels, size_t & outLoggingPosition)
|
|
SkipEvent(EventLoadOutContext *aContext)
|
void
Hilfsfunktion zum Überspringen des Ereignisses, das einer zugewiesenen Ereignis-ID entspricht.
|
ThrottleLogger(void)
|
void
Throttlelogger hebt die effektive Protokollierungsstufe auf die Produktionsebene an.
|
UnregisterEventCallbackForImportance(ImportanceType inImportance, event_id_t inEventID)
|
void
Die öffentliche API zum Entfernen der Registrierung von extern gespeicherten Ereignissen.
|
UnthrottleLogger(void)
|
void
UnthrottleLogger wiederhergestellt die effektive Protokollierungsebene auf die konfigurierte Protokollierungsebene.
|
Öffentliche statische Funktionen |
|
---|---|
CreateLoggingManagement(nl::Weave::WeaveExchangeManager *inMgr, size_t inNumBuffers, const LogStorageResources *const inLogStorageResources)
|
void
Erstellen Sie ein LoggingManagement-Objekt und initialisieren Sie das Logging-Verwaltungssubsystem mit den bereitgestellten Ressourcen.
|
DestroyLoggingManagement(void)
|
void
Führen Sie alle erforderlichen Aktionen beim Herunterfahren aus.
|
GetInstance(void)
|
Öffentliche Funktionen
BlitEvent
WEAVE_ERROR BlitEvent( EventLoadOutContext *aContext, const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions )
Hilfsfunktion zum Schreiben von Ereignisheadern und Daten gemäß dem Ereignisprotokollierungsprotokoll.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
Herunterfahren beenden
void CancelShutdownInProgress( void )
Setzen Sie das Flag mShutdownInFortschritt auf „false“.
Check Sollte ausführen WDM
bool CheckShouldRunWDM( void )
Legen Sie fest, ob Ereignisse auf Grundlage der Anzahl der Byte in Ereignispuffern entfernt werden sollen, die nicht zum Upload geplant sind.
Das Verhalten der Funktion wird über die Konstante WEAVE_CONFIG_EVENT_LOGGING_BYTE_THRESHOLD gesteuert. Wenn das System seit dem letzten Senden einer WDM-Benachrichtigung mehr als diese Anzahl an Byte geschrieben hat, zeigt die Funktion an, dass die NotificationEngine ausgelöst werden soll.
Details | |||||
---|---|---|---|---|---|
Rückgabewerte |
|
Ereignisse abrufen seit
WEAVE_ERROR FetchEventsSince( nl::Weave::TLV::TLVWriter & ioWriter, ImportanceType inImportance, event_id_t & ioEventID )
Eine Funktion zum Abrufen von Ereignissen einer bestimmten Wichtigkeit seit einer angegebenen Ereignis-ID.
Mit einem nl::Weave::TLV::TLVWriter, einem Wichtigkeitstyp und einer Ereignis-ID ruft die Funktion Ereignisse mit dem angegebenen Wichtigkeit seit dem angegebenen Ereignis ab. Die Funktion ruft weiterhin Ereignisse ab, bis kein Speicherplatz im nl::Weave::TLV::TLVWriter oder im Log mehr vorhanden ist. Durch die Funktion wird das Ereignis beendet, das auf der Ereignisgrenze steht.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
GetBytesWriter
uint32_t GetBytesWritten( void ) const
Rufen Sie die Gesamtzahl der Byte ab, die seit der Instanziierung in dieses Log geschrieben wurden (über alle wichtigen Ereignisse hinweg).
Details | |
---|---|
Rückgabe |
Die Anzahl der in das Log geschriebenen Byte.
|
GetEventReader
WEAVE_ERROR GetEventReader( nl::Weave::TLV::TLVReader & ioReader, ImportanceType inImportance )
Eine Hilfsmethode zum Prüfen der In-Memory-Zwischenspeicher.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
WEAVE_NO_ERROR ohne Bedingung.
|
GetFirstEventID
event_id_t GetFirstEventID( ImportanceType inImportance )
Ruft die erste Ereignis-ID ab, die derzeit für eine bestimmte Wichtigkeitsstufe gespeichert ist.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
event_id_t Zuerst gespeicherte Ereignis-ID für diese Wichtigkeitseinstellung
|
GetLastEventID
event_id_t GetLastEventID( ImportanceType inImportance )
Ermitteln Sie den ID mit der letzten ID für eine bestimmte Wichtigkeitsstufe.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
event_id_t zuletzt geänderte Ereignis-ID für diese Ereigniswichtigkeit
|
Wird heruntergefahren
bool IsShutdownInProgress( void )
Überprüfen Sie das Flag „mShutdownInFortschritt“.
Gültig
bool IsValid( void )
Ist gültig, ob die Instanz von LoggingManagement gültig ist.
Details | |||||
---|---|---|---|---|---|
Rückgabewerte |
|
Ladeereignisse
WEAVE_ERROR LoadEvents( TLVReader & reader )
Zuvor geladenes Weave-Ereignis wird geladen.
Logereignis
event_id_t LogEvent( const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions )
Ereignis über einen Callback protokollieren, mit Optionen
Die Funktion protokolliert ein Ereignis, das als EventWriterFunct- und ein app-spezifischer appData
-Kontext dargestellt wird. Die Funktion schreibt die Ereignismetadaten und ruft inEventWriter
mit einem nl::Weave::TLV::TLVWriter-Referenz und inAppData
-Kontext auf, damit der Nutzercode die Ereignisdaten direkt in das Ereignisprotokoll ausgeben kann. Diese Form des Ereignis-Loggings reduziert den Arbeitsspeicherverbrauch, da die Ereignisdaten direkt im Zielzwischenspeicher serialisiert werden. Die Ereignisdaten MÜSSEN Kontextkontext-Tags enthalten, die innerhalb des von inProfileID
und inEventType
identifizierten Schemas interpretiert werden sollen. Das Tag des ersten Elements wird ignoriert. Es wird durch das Ereignis-Logging-System durch das Ereignis „eventData“ ersetzt.
Das Ereignis wird protokolliert, wenn die Wichtigkeit des Schemas den in LoggingConfiguration angegebenen Logging-Schwellenwert überschreitet. Wenn die Wichtigkeit des Ereignisses den aktuellen Grenzwert nicht erreicht, wird er verworfen und die Funktion gibt 0
als resultierende Ereignis-ID zurück.
Bei dieser Variante des Aufrufs kann der Aufrufer eine beliebige Kombination von EventOptions
festlegen:
- timestamp: Wenn 0 standardmäßig auf die aktuelle Zeit am Anrufpunkt festgelegt ist,
- &&t ergibt.
- eine zugehörige Ereignis-ID für die Gruppierung von Ereignis-IDs. Wenn die zugehörige Ereignis-ID „0“ ist, wird das Ereignis als nicht relevant für andere Ereignisse gekennzeichnet.
- Dringlichkeit; standardmäßig nicht dringend.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabe |
event_id_t Die Ereignis-ID, wenn das Ereignis in das Protokoll geschrieben wurde, sonst 0.
|
Logging-Verwaltung
LoggingManagement( nl::Weave::WeaveExchangeManager *inMgr, size_t inNumBuffers, const LogStorageResources *const inLogStorageResources )
LoggingManagement-Konstruktor.
Initialisieren Sie für LoggingManagement das Array LogStorageResources. Im Array muss für jede gültige Wichtigkeitsstufe eine Ressource angegeben werden. Die Elemente des Arrays müssen in absteigender numerischer Wichtigkeit und deren Bedeutung abnehmen. Das erste Element im Array entspricht den Ressourcen, die für die kritischsten Ereignisse zugewiesen sind, und das letzte Element dem am wenigsten wichtigen Ereignis.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
Logging-Verwaltung
LoggingManagement( void )
Standard-Konstruktor für LoggingManagement.
Wird hauptsächlich verwendet, um den Compiler zufrieden zu stellen.
Details | |
---|---|
Rückgabe |
MarkuvInInFortschritt
void MarkShutdownInProgress( void )
Setzen Sie das Flag mShutdownInFortschritt auf „true“.
NotifyEventsZugestellt
void NotifyEventsDelivered( ImportanceType inImportance, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID )
RegistrierenEventCallbackForImportance
WEAVE_ERROR RegisterEventCallbackForImportance( ImportanceType inImportance, FetchExternalEventsFunct inFetchCallback, NotifyExternalEventsDeliveredFunct inNotifyCallback, NotifyExternalEventsEvictedFunct inEvictedCallback, size_t inNumEvents, event_id_t *outLastEventID )
Die öffentliche API zum Registrieren einer Gruppe von extern gespeicherten Ereignissen.
Registrieren Sie einen Callback im Format FetchExternalEventsFunct. Diese API erfordert, dass die Plattform die Anzahl der Ereignisse bei der Registrierung kennt. Auch im internen Arbeiten muss diese Zahl konstant sein. Da diese API der Plattform das Registrieren bestimmter Ereignis-IDs nicht erlaubt, kann die Plattform keine Ereignisse dauerhaft speichern, zumindest mit eindeutigen Ereignis-IDs.
Der Callback wird jedes Mal aufgerufen, wenn ein Abonnent versucht, Ereignis-IDs innerhalb des Bereichs abzurufen, bis er nicht registriert ist.
Diese Variante der Funktion sollte verwendet werden, wenn der externe Anbieter sowohl über die Übertragung von Ereignissen an einen Abonnenten als auch über das Entfernen der externen Ereignisobjekte informiert werden möchte.
Bei der Übermittlung der Ereignisse wird der externe Anbieter darüber informiert – zusammen mit der Knoten-ID des Empfängers und der ID des letzten Ereignisses, das an diesen Empfänger übermittelt wurde. Der externe Anbieter wird möglicherweise mehrmals für dieselbe Ereignis-ID benachrichtigt. Für den Handler gibt es keine spezifischen Einschränkungen, insbesondere kann der Handler die Registrierung der externen Ereignis-IDs aufheben.
Wenn das externe Ereignisobjekt aus den Protokollzwischenspeichern entfernt wird, wird der externe Anbieter zusammen mit einer Kopie des externen Ereignisobjekts benachrichtigt.
Der Mauszeiger auf die Struktur ExternalEvents ist bei einem Fehler NULL. Andernfalls wird die Ereignis-ID für Start und Ende dem Callback zugeordnet. Mit diesem Zeiger wird die Registrierung der Ereignisgruppe aufgehoben.
Ausführliche Informationen zur Implementierung des Callbacks finden Sie in der Dokumentation zu FetchExternalEventsFunct.
Details | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||
Rückgabewerte |
|
RegistrierenEventCallbackForImportance
WEAVE_ERROR RegisterEventCallbackForImportance( ImportanceType inImportance, FetchExternalEventsFunct inFetchCallback, NotifyExternalEventsDeliveredFunct inNotifyCallback, size_t inNumEvents, event_id_t *outLastEventID )
Die öffentliche API zum Registrieren einer Gruppe von extern gespeicherten Ereignissen.
Registrieren Sie einen Callback im Format FetchExternalEventsFunct. Diese API erfordert, dass die Plattform die Anzahl der Ereignisse bei der Registrierung kennt. Auch im internen Arbeiten muss diese Zahl konstant sein. Da diese API der Plattform das Registrieren bestimmter Ereignis-IDs nicht erlaubt, kann die Plattform keine Ereignisse dauerhaft speichern, zumindest mit eindeutigen Ereignis-IDs.
Der Callback wird jedes Mal aufgerufen, wenn ein Abonnent versucht, Ereignis-IDs innerhalb des Bereichs abzurufen, bis er nicht registriert ist.
Diese Variante der Funktion sollte verwendet werden, wenn der externe Anbieter benachrichtigt werden möchte, wenn die Ereignisse an einen Abonnenten zugestellt wurden, aber nicht, wenn das externe Ereignisobjekt entfernt wird. Bei der Übermittlung der Ereignisse wird der externe Anbieter darüber informiert – zusammen mit der Knoten-ID des Empfängers und der ID des letzten Ereignisses, das an diesen Empfänger übermittelt wurde. Der externe Anbieter wird möglicherweise mehrmals für dieselbe Ereignis-ID benachrichtigt. Für den Handler gibt es keine spezifischen Einschränkungen, insbesondere kann der Handler die Registrierung der externen Ereignis-IDs aufheben.
Der Mauszeiger auf die Struktur ExternalEvents ist bei einem Fehler NULL. Andernfalls wird die Ereignis-ID für Start und Ende dem Callback zugeordnet. Mit diesem Zeiger wird die Registrierung der Ereignisgruppe aufgehoben.
Ausführliche Informationen zur Implementierung des Callbacks finden Sie in der Dokumentation zu FetchExternalEventsFunct.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Rückgabewerte |
|
RegistrierenEventCallbackForImportance
WEAVE_ERROR RegisterEventCallbackForImportance( ImportanceType inImportance, FetchExternalEventsFunct inFetchCallback, size_t inNumEvents, event_id_t *outLastEventID )
Die öffentliche API zum Registrieren einer Gruppe von extern gespeicherten Ereignissen.
Registrieren Sie einen Callback im Format FetchExternalEventsFunct. Diese API erfordert, dass die Plattform die Anzahl der Ereignisse bei der Registrierung kennt. Auch im internen Arbeiten muss diese Zahl konstant sein. Da diese API der Plattform das Registrieren bestimmter Ereignis-IDs nicht erlaubt, kann die Plattform keine Ereignisse dauerhaft speichern, zumindest mit eindeutigen Ereignis-IDs.
Der Callback wird jedes Mal aufgerufen, wenn ein Abonnent versucht, Ereignis-IDs innerhalb des Bereichs abzurufen, bis er nicht registriert ist.
Diese Variante der Funktion sollte verwendet werden, wenn der externe Anbieter eine Benachrichtigung möchte, weder wenn die externen Ereignisse zugestellt wurden noch das externe Ereignisobjekt entfernt wird.
Der Mauszeiger auf die Struktur ExternalEvents ist bei einem Fehler NULL. Andernfalls wird die Ereignis-ID für Start und Ende dem Callback zugeordnet. Mit diesem Zeiger wird die Registrierung der Ereignisgruppe aufgehoben.
Ausführliche Informationen zur Implementierung des Callbacks finden Sie in der Dokumentation zu FetchExternalEventsFunct.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabewerte |
|
Zeitplan – Aufforderung erforderlich
WEAVE_ERROR ScheduleFlushIfNeeded( bool inFlushRequested )
Planen Sie eine Log-Auslagerungsaufgabe.
Die Funktion entscheidet, ob eine Aufgabe ausgelagert werden soll. Wenn ja, wird LoggingFlushHandler
so ausgeführt, dass sie asynchron im Weave-Thread ausgeführt wird.
Die Entscheidung, wann eine Bereinigung ausgeführt werden soll, hängt von drei Faktoren ab:
Eine explizite Anfrage zum Leeren des Zwischenspeichers
Status des Ereigniszwischenspeichers und Datenmenge, die noch nicht mit den Ereignisnutzern synchronisiert wurde
ob es bereits ein Anfrageereignis zur Leerung von Anfragen gibt.
Die explizite Anfrage zum Planen einer Leerung wird über einen Eingabeparameter übergeben.
Die automatische Leerung wird normalerweise geplant, wenn die Ereigniszwischenspeicher genügend Daten enthalten, um einen neuen Auslagerungsvorgang zu starten. Je nach Strategie können auch zusätzliche Trigger wie die Mindest- und Höchstzeit zwischen den Entladungen berücksichtigt werden.
Der Status „Ausstehend“ des Ereignisprotokolls wird durch die Variable mUploadRequested
gekennzeichnet. Diese Funktion kann von mehreren Threads aufgerufen werden. Deshalb muss mUploadRequested
atomar gelesen und festgelegt werden, um eine redundante LoggingFlushHandler
zu vermeiden, bevor die Benachrichtigung gesendet wird.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
SerializeEreignisse
WEAVE_ERROR SerializeEvents( TLVWriter & writer )
Weave-Ereignisse aller Arten serialisiert
Die Ereignisse in WeaveCircularTLVBuffer und die zugehörigen Status werden in den bereitgestellten Puffer serialisiert
Diese Methode ist für Geräte vorgesehen, die RAM während des Schlafs nicht beibehalten, sodass sie Ereignisse vor dem Schlafengehen beibehalten können und so Ereignisse verloren gehen
SetBDXUploader
void SetBDXUploader( LogBDXUpload *inUploader )
SetExchange-Manager
WEAVE_ERROR SetExchangeManager( nl::Weave::WeaveExchangeManager *inMgr )
Legen Sie den WeaveExchangeManager fest, der für dieses Logging-Subsystem verwendet werden soll.
Auf einigen Plattformen muss dies getrennt von CreateLoggingManagement() geschehen.
Details | |||
---|---|---|---|
Parameter |
|
SetLoggingEndpoint
WEAVE_ERROR SetLoggingEndpoint( event_id_t *inEventEndpoints, size_t inNumImportanceLevels, size_t & outLoggingPosition )
Überspringen
void SkipEvent( EventLoadOutContext *aContext )
Hilfsfunktion zum Überspringen des Ereignisses, das einer zugewiesenen Ereignis-ID entspricht.
Details | |||
---|---|---|---|
Parameter |
|
Drosselmelder
void ThrottleLogger( void )
Throttlelogger hebt die effektive Protokollierungsstufe auf die Produktionsebene an.
„UnregisterEventCallbackForImportance“
void UnregisterEventCallbackForImportance( ImportanceType inImportance, event_id_t inEventID )
Die öffentliche API zum Entfernen der Registrierung von extern gespeicherten Ereignissen.
Wenn Sie die Registrierung des Callbacks aufheben, kann LoggingManagement ihn nicht für bestimmte Ereignisse aufrufen. LoggingManagement sendet diese Ereignis-IDs nicht mehr an Abonnenten.
Dabei wird eine Funktion verwendet, um mehrere Ereignisse gleichzeitig auszuliefern. Wenn neue Ereignisse mit derselben Funktion registriert werden müssen, muss zuerst die Callbackregistrierung aufgehoben und dann wieder registriert werden. Das bedeutet, dass die ursprünglichen Ereignisse nicht mehr abgerufen werden können.
Diese Funktion ist bedingungslos erfolgreich. Wenn der Callback nie registriert oder bereits registriert war, ist eine No-Op.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
Nicht gedrosselt
void UnthrottleLogger( void )
UnthrottleLogger wiederhergestellt die effektive Protokollierungsebene auf die konfigurierte Protokollierungsebene.
Öffentliche statische Funktionen
Logging-Verwaltung erstellen
void CreateLoggingManagement( nl::Weave::WeaveExchangeManager *inMgr, size_t inNumBuffers, const LogStorageResources *const inLogStorageResources )
Erstellen Sie ein LoggingManagement-Objekt und initialisieren Sie das Logging-Verwaltungssubsystem mit den bereitgestellten Ressourcen.
Initialisieren Sie für LoggingManagement das Array LogStorageResources. Im Array muss für jede gültige Wichtigkeitsstufe eine Ressource angegeben werden. Die Elemente des Arrays müssen in absteigender numerischer Wichtigkeit und deren Bedeutung abnehmen. Das erste Element im Array entspricht den Ressourcen, die für die kritischsten Ereignisse zugewiesen sind, und das letzte Element dem am wenigsten wichtigen Ereignis.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
Verwaltungsprotokoll löschen
void DestroyLoggingManagement( void )
Führen Sie alle erforderlichen Aktionen beim Herunterfahren aus.