Logging - Platform#

This module includes the platform abstraction for the debug log service.

Enumerations#

enum
OT_LOG_REGION_API = 1
OT_LOG_REGION_MLE = 2
OT_LOG_REGION_ARP = 3
OT_LOG_REGION_NET_DATA = 4
OT_LOG_REGION_ICMP = 5
OT_LOG_REGION_IP6 = 6
OT_LOG_REGION_TCP = 7
OT_LOG_REGION_MAC = 8
OT_LOG_REGION_MEM = 9
OT_LOG_REGION_NCP = 10
OT_LOG_REGION_MESH_COP = 11
OT_LOG_REGION_NET_DIAG = 12
OT_LOG_REGION_PLATFORM = 13
OT_LOG_REGION_COAP = 14
OT_LOG_REGION_CLI = 15
OT_LOG_REGION_CORE = 16
OT_LOG_REGION_UTIL = 17
OT_LOG_REGION_BBR = 18
OT_LOG_REGION_MLR = 19
OT_LOG_REGION_DUA = 20
OT_LOG_REGION_BR = 21
OT_LOG_REGION_SRP = 22
OT_LOG_REGION_DNS = 23
}

Represents log regions.

Typedefs#

typedef int

Represents the log level.

typedef enum otLogRegion

Represents log regions.

Functions#

void
otPlatLog(otLogLevel aLogLevel, otLogRegion aLogRegion, const char *aFormat,...)

Outputs logs.

void
otPlatLogHandleLevelChanged(otLogLevel aLogLevel)

Handles OpenThread log level changes.

Macros#

#define

Log level None.

#define

Log level Critical.

#define

Log level Warning.

#define

Log level Notice.

#define

Log level Informational.

#define

Log level Debug.

Enumeration Documentation#

otLogRegion#

otLogRegion

Represents log regions.

The support for log region is removed and instead each core module can define its own name to appended to the logs. However, the otLogRegion enumeration is still defined as before to help with platforms which we may be using it in their otPlatLog() implementation. The OT core will always emit all logs with OT_LOG_REGION_CORE.

Enumerator
OT_LOG_REGION_API

OpenThread API.

OT_LOG_REGION_MLE

MLE.

OT_LOG_REGION_ARP

EID-to-RLOC mapping.

OT_LOG_REGION_NET_DATA

Network Data.

OT_LOG_REGION_ICMP

ICMPv6.

OT_LOG_REGION_IP6

IPv6.

OT_LOG_REGION_TCP

TCP.

OT_LOG_REGION_MAC

IEEE 802.15.4 MAC.

OT_LOG_REGION_MEM

Memory.

OT_LOG_REGION_NCP

NCP.

OT_LOG_REGION_MESH_COP

Mesh Commissioning Protocol.

OT_LOG_REGION_NET_DIAG

Network Diagnostic.

OT_LOG_REGION_PLATFORM

Platform.

OT_LOG_REGION_COAP

CoAP.

OT_LOG_REGION_CLI

CLI.

OT_LOG_REGION_CORE

OpenThread Core.

OT_LOG_REGION_UTIL

Utility module.

OT_LOG_REGION_BBR

Backbone Router (available since Thread 1.2)

OT_LOG_REGION_MLR

Multicast Listener Registration (available since Thread 1.2)

OT_LOG_REGION_DUA

Domain Unicast Address (available since Thread 1.2)

OT_LOG_REGION_BR

Border Router.

OT_LOG_REGION_SRP

Service Registration Protocol (SRP)

OT_LOG_REGION_DNS

DNS.


Definition at line 114 of file include/openthread/platform/logging.h

Typedef Documentation#

otLogLevel#

typedef int otLogLevel

Represents the log level.


Definition at line 105 of file include/openthread/platform/logging.h

otLogRegion#

typedef enum otLogRegion otLogRegion

Represents log regions.

The support for log region is removed and instead each core module can define its own name to appended to the logs. However, the otLogRegion enumeration is still defined as before to help with platforms which we may be using it in their otPlatLog() implementation. The OT core will always emit all logs with OT_LOG_REGION_CORE.


Definition at line 139 of file include/openthread/platform/logging.h

Function Documentation#

otPlatLog#

void otPlatLog (otLogLevel aLogLevel, otLogRegion aLogRegion, const char * aFormat, ... )

Outputs logs.

Parameters
[in]aLogLevel

The log level.

[in]aLogRegion

The log region.

[in]aFormat

A pointer to the format string.

[in]

Arguments for the format specification.

Note that the support for log region is removed. The OT core will always emit all logs with OT_LOG_REGION_CORE as aLogRegion.


Definition at line 152 of file include/openthread/platform/logging.h

otPlatLogHandleLevelChanged#

void otPlatLogHandleLevelChanged (otLogLevel aLogLevel)

Handles OpenThread log level changes.

Parameters
[in]aLogLevel

The new OpenThread log level.

This platform function is called whenever the OpenThread log level changes. This platform function is optional since an empty weak implementation has been provided.

Note

  • Only applicable when OPENTHREAD_CONFIG_LOG_LEVEL_DYNAMIC_ENABLE=1.


Definition at line 164 of file include/openthread/platform/logging.h

Macro Definition Documentation#

OT_LOG_LEVEL_NONE#

#define OT_LOG_LEVEL_NONE
Value:
0

Log level None.

Note

  • Log Levels are defines so that embedded implementations can eliminate code at compile time via #if/#else/#endif.


Definition at line 60 of file include/openthread/platform/logging.h

OT_LOG_LEVEL_CRIT#

#define OT_LOG_LEVEL_CRIT
Value:
1

Log level Critical.

Note

  • Log Levels are defines so that embedded implementations can eliminate code at compile time via #if/#else/#endif.


Definition at line 68 of file include/openthread/platform/logging.h

OT_LOG_LEVEL_WARN#

#define OT_LOG_LEVEL_WARN
Value:
2

Log level Warning.

Note

  • Log Levels are defines so that embedded implementations can eliminate code at compile time via #if/#else/#endif.


Definition at line 76 of file include/openthread/platform/logging.h

OT_LOG_LEVEL_NOTE#

#define OT_LOG_LEVEL_NOTE
Value:
3

Log level Notice.

Note

  • Log Levels are defines so that embedded implementations can eliminate code at compile time via #if/#else/#endif.


Definition at line 84 of file include/openthread/platform/logging.h

OT_LOG_LEVEL_INFO#

#define OT_LOG_LEVEL_INFO
Value:
4

Log level Informational.

Note

  • Log Levels are defines so that embedded implementations can eliminate code at compile time via #if/#else/#endif.


Definition at line 92 of file include/openthread/platform/logging.h

OT_LOG_LEVEL_DEBG#

#define OT_LOG_LEVEL_DEBG
Value:
5

Log level Debug.

Note

  • Log Levels are defines so that embedded implementations can eliminate code at compile time via #if/#else/#endif.


Definition at line 100 of file include/openthread/platform/logging.h