Compact Logger#

API and Callbacks for the Compact Logger Component.

This component manages a compact logger that stores log entries encoded with a 2-byte enumeration. Another component must provide the encoding/decoding of the enumerations. This component stores log messages with the following: UTC Time, Time Synchronization, Log Message ID, and variable log message data. It stores the data in a ring-buffer stored in RAM. When space is needed, the oldest log message entries are deleted.

Modules#

EmberAfPluginCompactLoggerMessageInfo

Compact Logger

API#

void

Initialize compact logger.

EmberStatus
emberAfPluginCompactLoggerAdd(uint16_t logMessageId, uint16_t logDataLength, uint8_t *logData)

Add compact log.

uint16_t
EmberStatus

Initialize compact logger iterator.

EmberStatus
emberAfPluginCompactLoggerGetLogMessageInfoByIterator(EmberAfPluginCompactLoggerMessageInfo *info)

Get log message info by using the iterator.

EmberStatus
emberAfPluginCompactLoggerGetLogMessageDataByIterator(uint16_t indexIntoEntry, uint16_t maxMessageSize, uint16_t *returnDataSize, uint8_t *returnData)

Get log message data by using the iterator.

EmberStatus

Compact logger iterator next entry.

EmberStatus

Update all logs with UTC time.

void
EmberStatus
emberAfPluginCompactLoggerGetEntryByNumber(uint32_t entryNumber, EmberAfPluginCompactLoggerMessageInfo *info)

Get entry by number.

bool
emberAfPluginCompactLoggerCheckFacilityAndSeverity(EmberCompactLoggerSeverity severity, uint16_t facility)

Check facility and severity.

void

Set facility.

EmberStatus
emberAfPluginCompactLoggerSetSeverity(EmberCompactLoggerSeverity severity)

Set severity.

Enumerations#

enum
EMBER_AF_PLUGIN_COMPACT_LOGGER_SEVERITY_CRITICAL
EMBER_AF_PLUGIN_COMPACT_LOGGER_SEVERITY_NOTICE
EMBER_AF_PLUGIN_COMPACT_LOGGER_SEVERITY_DEBUG
}

API Documentation#

emberAfPluginCompactLoggerInit#

void emberAfPluginCompactLoggerInit (void )

Initialize compact logger.

Parameters
N/A

Definition at line 73 of file app/framework/plugin/compact-logger/compact-logger.h

emberAfPluginCompactLoggerAdd#

EmberStatus emberAfPluginCompactLoggerAdd (uint16_t logMessageId, uint16_t logDataLength, uint8_t * logData)

Add compact log.

Parameters
N/AlogMessageId

message id Ver.: always

N/AlogDataLength

data length Ver.: always

N/AlogData

data Ver.: always

Returns

  • EmberStatus status


Definition at line 83 of file app/framework/plugin/compact-logger/compact-logger.h

emberAfPluginCompactLoggerGetLogCount#

uint16_t emberAfPluginCompactLoggerGetLogCount (void )

Get log count.

Parameters
N/A

Returns

  • uint16_t Log count


Definition at line 91 of file app/framework/plugin/compact-logger/compact-logger.h

emberAfPluginCompactLoggerInitIterator#

EmberStatus emberAfPluginCompactLoggerInitIterator (void )

Initialize compact logger iterator.

Parameters
N/A

Returns

  • EmberStatus status


Definition at line 98 of file app/framework/plugin/compact-logger/compact-logger.h

emberAfPluginCompactLoggerGetLogMessageInfoByIterator#

EmberStatus emberAfPluginCompactLoggerGetLogMessageInfoByIterator (EmberAfPluginCompactLoggerMessageInfo * info)

Get log message info by using the iterator.

Parameters
N/Ainfo

pointer to struct to store log info

Returns

  • EmberStatus status code


Definition at line 107 of file app/framework/plugin/compact-logger/compact-logger.h

emberAfPluginCompactLoggerGetLogMessageDataByIterator#

EmberStatus emberAfPluginCompactLoggerGetLogMessageDataByIterator (uint16_t indexIntoEntry, uint16_t maxMessageSize, uint16_t * returnDataSize, uint8_t * returnData)

Get log message data by using the iterator.

Parameters
N/AindexIntoEntry

Ver.: always

N/AmaxMessageSize

Ver.: always

N/AreturnDataSize

Ver.: always

N/AreturnData

Ver.: always

Returns

  • EmberStatus status code


Definition at line 118 of file app/framework/plugin/compact-logger/compact-logger.h

emberAfPluginCompactLoggerIteratorNextEntry#

EmberStatus emberAfPluginCompactLoggerIteratorNextEntry (void )

Compact logger iterator next entry.

Parameters
N/A

Returns

  • EmberStatus status code


Definition at line 128 of file app/framework/plugin/compact-logger/compact-logger.h

emberAfPluginCompactLoggerUpdateAllLogsWithUtcTime#

EmberStatus emberAfPluginCompactLoggerUpdateAllLogsWithUtcTime (uint32_t currentUtcTimeSeconds)

Update all logs with UTC time.

Parameters
N/AcurrentUtcTimeSeconds

UTC time in seconds Ver.: always

Returns

  • EmberStatus status code


Definition at line 137 of file app/framework/plugin/compact-logger/compact-logger.h

emberAfPluginCompactLoggerPrintAllMessages#

void emberAfPluginCompactLoggerPrintAllMessages (void )

Print all messages.

Parameters
N/A

Definition at line 142 of file app/framework/plugin/compact-logger/compact-logger.h

emberAfPluginCompactLoggerGetEntryByNumber#

EmberStatus emberAfPluginCompactLoggerGetEntryByNumber (uint32_t entryNumber, EmberAfPluginCompactLoggerMessageInfo * info)

Get entry by number.

Parameters
N/AentryNumber
N/Ainfo

pointer to struct where info will be stored Ver.: always

Returns

  • EmberStatus status code


Definition at line 151 of file app/framework/plugin/compact-logger/compact-logger.h

emberAfPluginCompactLoggerCheckFacilityAndSeverity#

bool emberAfPluginCompactLoggerCheckFacilityAndSeverity (EmberCompactLoggerSeverity severity, uint16_t facility)

Check facility and severity.

Parameters
N/Aseverity

Ver.: always

N/Afacility

Ver.: always

Returns

  • bool


Definition at line 162 of file app/framework/plugin/compact-logger/compact-logger.h

emberAfPluginCompactLoggerSetFacility#

void emberAfPluginCompactLoggerSetFacility (uint16_t facility)

Set facility.

Parameters
N/Afacility

Ver.: always


Definition at line 170 of file app/framework/plugin/compact-logger/compact-logger.h

emberAfPluginCompactLoggerSetSeverity#

EmberStatus emberAfPluginCompactLoggerSetSeverity (EmberCompactLoggerSeverity severity)

Set severity.

Parameters
N/Aseverity

Ver.: always

Returns

  • EmberStatus status code


Definition at line 178 of file app/framework/plugin/compact-logger/compact-logger.h

Enumeration Documentation#

EmberCompactLoggerSeverity#

EmberCompactLoggerSeverity
Enumerator
EMBER_AF_PLUGIN_COMPACT_LOGGER_SEVERITY_CRITICAL
EMBER_AF_PLUGIN_COMPACT_LOGGER_SEVERITY_NOTICE
EMBER_AF_PLUGIN_COMPACT_LOGGER_SEVERITY_DEBUG

Definition at line 55 of file app/framework/plugin/compact-logger/compact-logger.h

Typedef Documentation#

EmberAfPluginCompactLoggerMessageBitmask#

typedef uint8_t EmberAfPluginCompactLoggerMessageBitmask

Definition at line 42 of file app/framework/plugin/compact-logger/compact-logger.h

Macro Definition Documentation#

EMBER_AF_PLUGIN_COMPACT_LOGGER_FACILITY_ALL#

#define EMBER_AF_PLUGIN_COMPACT_LOGGER_FACILITY_ALL
Value:
0xFFFF

Definition at line 61 of file app/framework/plugin/compact-logger/compact-logger.h

EMBER_AF_PLUGIN_COMPACT_LOGGER_BITMASK_UTC_TIME_SYNC#

#define EMBER_AF_PLUGIN_COMPACT_LOGGER_BITMASK_UTC_TIME_SYNC
Value:
0x01

Definition at line 62 of file app/framework/plugin/compact-logger/compact-logger.h

EMBER_AF_PLUGIN_COMPACT_LOGGER_BITMASK_MS_PRECISION#

#define EMBER_AF_PLUGIN_COMPACT_LOGGER_BITMASK_MS_PRECISION
Value:
0x02

Definition at line 63 of file app/framework/plugin/compact-logger/compact-logger.h