QuecPython技术分享:”LOG”的追踪与定位

当程序运行出现问题时,日志记录是追踪、定位和分析问题的有效手段。在 QuecPython 开发中,log 模块是记录程序运行信息的关键工具。然而,QuecPython 默认输出的日志信息通常仅显示在 QPYcom 交互界面中。若需将日志输出重定向至其他 UART 串口,应如何处理?此外,如何灵活配置日志输出等级?

本文将介绍如何将 QuecPython 的日志输出映射到指定的 UART 串口,并详细说明日志等级的设置方法。

一、QuecPython_LOG 输出映射到其他 UART

log.basicConfig(level)#设置日志输出级别,默认为 log.INFO,系统只会输出 level 数值大于或      等于该 level 的的日志结果。

log.set_output(out)#设置日志输出的位置,目前只支持 uart 和 usys.stdout

二、print 输出映射到到其他 UART

from machine import UART 
uart = UART(UART.UART1, 115200, 8, 0, 1, 0) # 创建 uart 对象 
print(‘this is print log test’,file=uart) # file:数据输出位置

三、 LOG 等级设置

  1. 日志级别
  • log.DEBUG

    常量,用来标识 LOG 等级,最详细的日志信息,通常只在开发和调试时使用。

  • log.INFO

    常量,用来标识 LOG 等级,确认一切按预期运行。

  • log.WARNING

    常量,用来标识 LOG 等级,表明发生了一些意外,或者指示可能出现问题的情况,但仍然 可以继续执行。

  • log.ERROR

    常量,用来标识 LOG 等级,由于更严重的问题,应用程序已不能执行某些功能。

  • log.CRITICAL

    常量,用来标识 LOG 等级,指出应用程序中的严重错误,可能导致应用程序停止运行。

log 等级排名: log.CRITICAL > log.ERROR > log.WARNING > log.INF O > log.DEBUG

2.日志输出

import log
# 设置日志输出级别,默认为 log.INFO,系统只会输出 level 数值大于或等于该level 的的日志结果。
log.basicConfig( level =log.DEBUG)
# 获取 logger 对象,如果不指定 name 则返回 root 对象,多次使用相同的 name 调用getLogger 方法返回同一个 logger 对象

Testlog = log.getLogger( “Quec” ) 
Testlog.error( “Test error message!!” ) 
Testlog.debug( “Test debug message!!” )
Testlog.critical( "Test critical message!!" ) 
Testlog.info( "Test info message!!" )
Testlog.warning( "Test warning message!!" )

以上内容就是对QuecPython的log日志输出功能介绍,如果想详细了解相关信息课前往log -日志输出 - QuecPython查看。