Logging - Platform

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

Macros

#define OT_LOG_LEVEL_NONE 0
Log level None.
#define OT_LOG_LEVEL_CRIT 1
Log level Critical.
#define OT_LOG_LEVEL_WARN 2
Log level Warning.
#define OT_LOG_LEVEL_NOTE 3
Log level Notice.
#define OT_LOG_LEVEL_INFO 4
Log level Informational.
#define OT_LOG_LEVEL_DEBG 5
Log level Debug.

Typedefs

typedef int otLogLevel
This type represents the log level.
typedef enum otLogRegion otLogRegion
This enumeration represents log regions.

Enumerations

enum otLogRegion {
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
}
This enumeration represents log regions.

Functions

void otPlatLog ( otLogLevel aLogLevel, otLogRegion aLogRegion, const char *aFormat,...)
This function outputs logs.
void otPlatLogHandleLevelChanged ( otLogLevel aLogLevel)
This function handles OpenThread log level changes.

Detailed Description

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

Macro Definition Documentation

OT_LOG_LEVEL_CRIT

#define OT_LOG_LEVEL_CRIT 1

Log level Critical.

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

OT_LOG_LEVEL_DEBG

#define OT_LOG_LEVEL_DEBG 5

Log level Debug.

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

OT_LOG_LEVEL_INFO

#define OT_LOG_LEVEL_INFO 4

Log level Informational.

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

OT_LOG_LEVEL_NONE

#define OT_LOG_LEVEL_NONE 0

Log level None.

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

OT_LOG_LEVEL_NOTE

#define OT_LOG_LEVEL_NOTE 3

Log level Notice.

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

OT_LOG_LEVEL_WARN

#define OT_LOG_LEVEL_WARN 2

Log level Warning.

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

Typedef Documentation

otLogRegion

This enumeration 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 .

Enumeration Type Documentation

otLogRegion

This enumeration 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.

Function Documentation

otPlatLog()

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

This function outputs logs.

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

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.

otPlatLogHandleLevelChanged()

void otPlatLogHandleLevelChanged ( otLogLevel aLogLevel )

This function handles OpenThread log level changes.

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 .
Parameters
[in] aLogLevel The new OpenThread log level.