日志輸出功能

當程序運行出現問題時,日志記錄是一種非常有用的工具,它可以幫助我們追蹤和定位問題。在 MicroPython 中,可以使用 log 模塊來記錄程序運行中的信息。本文將介紹 log 模塊的使用方法和常見功能。

日志級別

log.DEBUG

常量,用來標識 LOG 等級,最詳細的日志信息,通常只在開發和調試時使用。

log.INFO

常量,用來標識 LOG 等級,確認一切按預期運行。

log.WARNING

常量,用來標識 LOG 等級,表明發生了一些意外,或者指示可能出現問題的情況,但仍然可以繼續執行。

log.ERROR

常量,用來標識 LOG 等級,由于更嚴重的問題,應用程序已不能執行某些功能。

log.CRITICAL

常量,用來標識 LOG 等級,指出應用程序中的嚴重錯誤,可能導致應用程序停止運行。

日志設置

log.basicConfig

設置日志輸出級別,默認為 log.INFO,系統只會輸出 level 數值大于或等于該 level 的的日志結果。

log.basicConfig(level)

參數描述:

  • level?- 日志等級

返回值描述:

示例:

import log
log.basicConfig(level=log.INFO)

log.set_output

設置日志輸出的位置,目前只支持 uart 和 usys.stdout

log.set_output(out)

參數描述:

  • out?- 日志輸出位置,輸出到指定串口或者交互口,默認不設置為交互口輸出,類型參考示例

返回值描述:

示例:

import log
log.basicConfig(level=log.INFO)
Testlog = log.getLogger("TestLog")# 設置輸出到debug口
from machine import UART
uart = UART(UART.UART0, 115200, 8, 0, 1, 0)log.set_output(uart)Testlog.info("this is a Test log") # 會輸出帶對應的uart口# 從uart口切換成交互口輸出
import usys
log.set_output(usys.stdout)Testlog.info("this is a Test log") # 會輸出到交互口

日志輸出

log.getLogger

獲取 log 對象,對象支持輸出不同等級的 log 信息。

Testlog = log.getLogger(name)

參數描述:

  • name?- 當前 log 對象的主題信息,字符串類型

返回值描述:

  • log 操作句柄,也可理解成 log 對象,擁有 log 輸出的方法。

log.debug

輸出 DEBUG 級別的日志。

Testlog.debug(msg)

參數描述:

  • msg?- 日志內容,字符串類型

log.info

輸出 INFO 級別的日志。

Testlog.info(msg)

參數描述:

  • msg?- 日志內容,字符串類型

log.warning

輸出 WARNING 級別的日志。

Testlog.warning(msg)

參數描述:

  • msg?- 日志內容,字符串類型

log.error

輸出 ERROR 級別的日志。

Testlog.error(msg)

Copy

參數描述:

  • msg?- 日志內容,字符串類型

log.critical

輸出 CRITICAL 級別的日志。

Testlog.critical(msg)

參數描述:

  • msg?- 日志內容,字符串類型

示例:

import log# 設置日志輸出級別
log.basicConfig(level=log.INFO)
# 獲取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!!")

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/85015.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/85015.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/85015.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【JVM】- 類加載與字節碼結構1

類文件結構 ClassFile {u4 magic;u2 minor_version;u2 major_version;u2 constant_pool_count;cp_info constant_pool[constant_pool_count-1];u2 access_flags;u2 this_class;u2 …

Android及Harmonyos實現圖片進度顯示效果

鴻蒙Harmonyos實現,使用ImageKnife自定義transform來實現圖片進度效果 import { Context } from ohos.abilityAccessCtrl; import { image } from kit.ImageKit; import { drawing } from kit.ArkGraphics2D; import { GrayScaleTransformation, PixelMapTransform…

linux 中的自動化之systemd

linux | 自動化之systemd linux 中的自動化之systemd 學習總是循序漸進的。 linux 中程序的自動化,包括早期手動啟動,查看啟動后的日志、分析啟動情況,再到后面封裝腳本(大致要求啟動后檢查是否掛了,掛了拉起,沒掛跳過…

【編譯工具】CodeRider 2.0:馭碼 CodeRider 2.0 全流程智能研發協作平臺深度技術測評報告

目錄 前言:CodeRider 2.0 簡介 (1)核心功能 (2)適用場景 (3)優勢 一、產品概述與技術架構 (1)產品定位與核心價值 (2)技術架構解析 &…

抓包 TCP 四次揮手報文

文章目錄 抓包 TCP 三次握手報文一、第一次揮手二、第二次揮手三、第三次揮手四、第四次揮手 抓包 TCP 三次握手報文 抓包 TCP 三次握手報文 一、第一次揮手 二、第二次揮手 三、第三次揮手 四、第四次揮手

KMP(Kotlin Multiplatform)發布Web版本亂碼

一、背景 最近用KMP嘗試運行在Android、iOS、desktop都成功了,網絡數據訪問也正常。 可是當運行wasmJs的時候遇到了2個較大的問題。 中文字體出現亂碼。 出現了跨域問題。 首先貼一下每個平臺的運行截圖: Android iOS Desktop 二、問題 當web跑起…

一個應用程序或移動網站項目提供最佳UI解決方案

一個應用程序或移動網站項目提供最佳UI解決方案 此套件是用大量的愛和辛勤工作制作的,為您的下一個應用程序或移動網站項目提供最佳解決方案。120個完全可編輯的界面,分為10個類別和2種文件格式,Photoshop和AI。簡單易用的結構將允許您以所…

Android studio打包生成jar包文件

Android studio打包生成jar包文件 一 項目配置1.修改 app/build.gradle2.修改 AndroidManifest.xml 二 打 Jar 包1.修改 app/build.gradle2.編譯生成 Jar 包 一 項目配置 1.修改 app/build.gradle 將com.android.application改成com.android.library注釋掉applicationId 2.…

JAVA類加載機制(jdk8)

三句話總結JDK8的類加載機制: 類緩存:每個類加載器對他加載過的類都有一個緩存。雙親委派:向上委托查找,向下委托加載。沙箱保護機制:不允許應用程序加載JDK內部的系統類。 JDK8的類加載體系 類加載器的核心方法 //…

更進一步深入的研究ObRegisterCallBack

引入 我們如果想hook對象的回調,在上篇文章里我們已經知道了對象回調函數存在一個列表里面,我們通過dt可以看見,這里他是一個LIST_ENTRY結構,但是實際調用的時候,這樣是行不通的,說明它結構不對 0: kd> dt _OBJEC…

Nginx-3 Nginx 的負載均衡策略

Nginx-3 Nginx 的負載均衡策略 Nginx 的負載均衡其實就是指將請求按照一定的策略轉發給服務集群中的一臺,提高了服務集群的可用性,解決數據流量過大、網絡負荷過重的問題。 AKF 擴展立方體 分為 3 個方向負載: x 軸:增加實例數…

Wiiu平臺RetroArch全能模擬器美化整合包v1.18

這款WiiU平臺RetroArch全能模擬器美化整合包v1.18的亮點包括: 1. 18款平臺完美兼容:無論你是喜歡NES時代的經典游戲,還是鐘愛SNES、GBA等平臺的大作,這款整合包都能滿足你的需求,讓你盡情暢玩游戲。 2. 三款自制主題&a…

MyBatis原理

Mybatis執行過程為:接口代理->sqlSession會話->executor執行器->JDBC操作 一、接口代理 Mybatis根據Mapper接口,動態生成相應實現類 二、SqlSession介紹 MyBatis核心對象SqlSession介紹 - MyBatis中文官網 三、Executor執行器介紹 精通My…

升級內核4.19-腳本

#bash cd /root yum remove -y kernel-tools-3.10.0-1160.el7.x86_64 yum remove -y kernel-tools-libs-3.10.0-1160.el7.x86_64tar -xvf rhel-7-amd64-rpms.tar.gz cd /root/rhel-7-amd64-rpms #安裝依賴、包括socat&conntrack yum localinstall -y *.rpm --skip-broken#升…

全面理解 JVM 垃圾回收(GC)機制:原理、流程與實踐

JVM 的 GC(Garbage Collection)機制是 Java 程序性能的關鍵支柱。本文將從堆內存布局、回收原理、GC 算法、流程細節、并發收集器機制等維度,系統講清楚 GC 的底層運作原理和優化思路。 一、JVM 堆內存結構 Java 堆是 GC 管理的主要區域&am…

runas命令讓其他用戶以管理員權限運行程序

RUNAS 用法: RUNAS使用示例: runas /noprofile /user:mymachine\administrator cmd #本機Administrator管理員身份執行CMD,/noprofile為不加載該用戶的配置信息。runas /profile /env /user:mydomain\admin “mmc %windir%\system32\dsa.msc” #本機上…

實戰指南:部署MinerU多模態文檔解析API與Dify深度集成(實現解析PDF/JPG/PNG)

MinerU web api部署 MinerU 能夠將包含圖片、公式、表格等元素的多模態 PDF、PPT、DOCX 等文檔轉化為易于分析的 Markdown 格式。 克隆 MinerU 的倉庫 git clone https://github.com/opendatalab/MinerU.gitcd 到 projects/web-api cd projects/web-api在可以科學上網的情況下…

向量外積與秩1矩陣的關系

向量外積與秩1矩陣的關系 flyfish 向量外積是構造秩1矩陣的基本工具,其本質是用兩組向量的線性組合刻畫矩陣的行和列相關性;任意秩1矩陣必可表示為外積,而低秩矩陣(秩 k k k)可分解為 k k k 個外積矩陣的和&#x…

設計模式-創建型模式(詳解)

創建型模式 單例模式 一個類只允許創建一個對象,稱為單例。 單例體現:配置類、連接池、全局計數器、id生成器、日志對象。 懶漢式 (線程不安全) 單例:【不可用】 用到該單例對象的時候再創建。但存在很大問題,單線程下這段代…