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

typedef enum otLogRegion 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]aLogLevelThe log level.
[in]aLogRegionThe log region.
[in]aFormatA 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]aLogLevelThe new OpenThread log level.