全網最適合入門的面向對象編程教程:12 類和對象的 Python 實現-Python 使用 logging 模塊輸出程序運行日志

全網最適合入門的面向對象編程教程:12 類和對象的 Python 實現-Python 使用 logging 模塊輸出程序運行日志

摘要:

本文主要介紹了日志的定義和作用,以及 Python 內置日志處理的 logging 模塊,同時簡單說明了日志等級和 logging 模塊的簡易使用方法。

原文鏈接:

FreakStudio 的博客

往期推薦:

可能是全網最適合入門的面向對象編程教程:Python實現-嵌入式愛好者必看!

全網最適合入門的面向對象編程教程:00 面向對象設計方法導論

全網最適合入門的面向對象編程教程:01 面向對象編程的基本概念

全網最適合入門的面向對象編程教程:02 類和對象的Python實現-使用Python創建類

全網最適合入門的面向對象編程教程:03 類和對象的Python實現-為自定義類添加屬性

全網最適合入門的面向對象編程教程:04 類和對象的 Python 實現-為自定義類添加方法

全網最適合入門的面向對象編程教程:05 類和對象的Python實現-PyCharm代碼標簽

全網最適合入門的面向對象編程教程:06 類和對象的 Python 實現-自定義類的數據封裝

全網最適合入門的面向對象編程教程:07 類和對象的Python實現-類型注解

全網最適合入門的面向對象編程教程:08 類和對象的 Python 實現-@property 裝飾器

全網最適合入門的面向對象編程教程:09 類和對象的Python實現-類之間的關系

全網最適合入門的面向對象編程教程:10 類和對象的Python實現-類的繼承和里氏替換原則

全網最適合入門的面向對象編程教程:11 類和對象的Python實現-子類調用父類方法

更多精彩內容可看:

CM3調試系統簡析

肝了半個月,嵌入式技術棧大匯總出爐

比賽獲獎的武林秘籍:05 電子計算機類比賽國獎隊伍技術如何分工和學習內容

比賽獲獎的武林秘籍:04 電子類比賽嵌入式開發快速必看的上手指南

比賽獲獎的武林秘籍:03 好的創意選取-獲得國獎的最必要前提

比賽獲獎的武林秘籍:02 國獎秘籍-大學生電子計算機類競賽快速上手的流程,小白必看

比賽獲獎的武林秘籍:01 如何看待當代大學生競賽中“卷”“祖傳老項目”“找關系”的現象?

比賽獲獎的武林秘籍:00 學科競賽-工科類大學生繞不開的話題,你了解多少?

電子計算機類比賽的“武林秘籍”-電賽光電設計大賽計算機設計大賽嵌入式芯片與系統設計競賽,你要的都在這里!

文檔和代碼獲取:

可訪問如下鏈接進行對文檔下載:

https://github.com/leezisheng/Doc

image

本文檔主要介紹如何使用 Python 進行面向對象編程,需要讀者對 Python 語法和單片機開發具有基本了解。相比其他講解 Python 面向對象編程的博客或書籍而言,本文檔更加詳細、側重于嵌入式上位機應用,以上位機和下位機的常見串口數據收發、數據處理、動態圖繪制等為應用實例,同時使用 Sourcetrail 代碼軟件對代碼進行可視化閱讀便于讀者理解。

相關示例代碼獲取鏈接如下:https://github.com/leezisheng/Python-OOP-Demo

正文

日志是記錄系統中硬件、軟件和系統問題的信息,同時還可以監視系統中發生的事件。用戶可以通過它來檢查錯誤發生的原因和程序運行歷史記錄。

在 python3 中,內置了 logging 模塊,用于進行日志相關的處理。日志是一種可以追蹤某些軟件運行時所發生事件的方法。軟件開發人員可以向他們的代碼中調用日志記錄相關的方法來表明發生了某些事情。通過 log 的分析,可以方便用戶了解系統或軟件、應用的運行情況,日志的作用可以簡單總結為以下 3 點:

  • ①程序調試;
  • ②了解軟件程序運行情況,是否正常;
  • ③軟件程序運行故障分析與問題定位。

logging 模塊默認定義了以下幾個日志等級用于區別時間嚴重性:

  • ①DEBUG | 最詳細的日志信息,典型應用場景是問題診斷;
  • ②INFO | 信息詳細程度僅次于DEBUG,通常只記錄關鍵節點信息,用于確認一切都是按照我們預期的那樣進行工作;
  • ③WARNING | 當某些不期望的事情發生時記錄的信息(如,磁盤可用空間較低),但是此時應用程序還是正常運行的;
  • ④ERROR | 由于一個更嚴重的問題導致某些功能不能正常運行時記錄的信息;
  • ⑤CRITICAL | 當發生嚴重錯誤,導致應用程序不能繼續運行時記錄的信息。

日志優先級:CRIRICAL>ERROR>WARNING>INFO>DEBUG,當日志級別設置為某個級別時,則低于該級別的日志將不輸出。如日志級別設置為 INFO,則 DEBUG 級別的日志將不輸出。

這里,我們設置日志優先級為 DEBUG 并使用 logging.info 方法輸出調試信息。

此時調試信息從終端輸出,也可以保存為 log 文件:

# 在配置下日志輸出目標文件和日志格式_
LOG_FORMAT = "%(asctime)s - %(levelname)s - %(message)s"
logging.basicConfig(filename='my.log', level=logging.DEBUG, format=LOG_FORMAT)

在這里插入圖片描述

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

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

相關文章

【人工智能】-- 搜索技術(狀態空間法)

個人主頁:歡迎來到 Papicatch的博客 課設專欄 :學生成績管理系統 專業知識專欄: 專業知識 文章目錄 🍉引言 🍈介紹 🍉狀態空間法 🍈狀態空間的構成 🍍狀態 🍍算符…

搜維爾科技:觸覺反饋數據手套CyberGlove擊鼓測試

觸覺反饋數據手套CyberGlove擊鼓測試 搜維爾科技:觸覺反饋數據手套CyberGlove擊鼓測試

辦公助手推薦?

辦公助手來啦!? 辦公助手來啦!?🌟 主要亮點📝 全新PDF編輯器🎨 豐富的幻燈片版式🌍 改進的從右至左顯示🌐 新增本地化選項 📊 應用場景在線辦公套件📱 多平臺支持&…

IEC62056標準體系簡介-1.引言

隨著微電子技術和信息技術的發展,電力系統由智能計量儀表、自動化裝置、現代通信設備等組成的各類系統逐步取代過去由感應系計量表計、手動裝置、人工操作等組成的運行模式。為滿足電力市場變革和用戶管理中的抄表(含自動)、用戶服務、價格表…

torch.autograd.Function自定義前向傳播和反向傳播

torch.autograd.Function 是 PyTorch 提供的一個接口,用于自定義前向傳播和反向傳播的操作。自定義操作需要繼承 torch.autograd.Function 并重載 forward 和 backward 方法。 下面是一個簡單的示例,展示如何自定義一個平方操作的前向傳播和反向傳播。 …

idea創建dynamic web project

由于網課老師用的是eclipse,所以又得自己找教程了…… 解決方案: https://blog.csdn.net/Awt_FuDongLai/article/details/115523552

20240709每日后端--------最優解決Invalid bound statement (not found)

目標 最優解決Invalid bound statement (not found) 步驟 1、打包 2、查看target下是否成雙成對出現 3、核對無誤后,即可解決問題。

軟考高級里《系統架構設計師》容易考嗎?

我還是22年通過的架構考試。系統架構設計師屬于軟考高級科目,難度比初級和中級都要大,往年的通過率也比較低,一般在10-20%左右。從總體來說,這門科目確實是不好過的,大家如果想要備考系統架構設計師的話,還…

Kithara和OpenCV (一)

Kithara使用 OpenCV 目錄 Kithara使用 OpenCV簡介需求和支持的環境構建 OpenCV 庫使用 CMake 進行配置以與 Kithara 一起工作 使用 OpenCV 庫設置項目運行 OpenCV 代碼圖像采集和 OpenCV自動并行化限制和局限性1.系統建議2.實時限制3.不支持的功能和缺失的功能4.顯示 OpenCV 對…

【技術選型】FastDFS、OSS如何選擇

【技術選型】FastDFS、OSS如何選擇 開篇詞:干貨篇:FastDFS:OSS(如阿里云OSS): 總結篇:我是杰叔叔,一名滬漂的碼農,下期再會! 開篇詞: 文件存儲該選…

簡談設計模式之原型模式

原型模式是一種創建型設計模式, 用于創建對象, 而不必指定它們所屬的具體類. 它通過復制現有對象 (即原型) 來創建新對象. 原型模式適用于當創建新對象的過程代價較高或復雜時, 通過克隆現有對象來提高性能 原型模式結構 原型接口. 聲明一個克隆自身的接口具體原型. 實現克隆…

【鴻蒙學習筆記】屬性學習迭代筆記

這里寫目錄標題 TextImageColumnRow Text Entry Component struct PracExample {build() {Row() {Text(文本描述).fontSize(40)// 字體大小.fontWeight(FontWeight.Bold)// 加粗.fontColor(Color.Blue)// 字體顏色.backgroundColor(Color.Red)// 背景顏色.width(50%)// 組件寬…

展開說說:Android服務之實現AIDL跨應用通信

前面幾篇總結了Service的使用和源碼執行流程,這里再簡單分析一下如果需要Service跨進程通信該怎樣做。AIDL(Android Interface Definition Language)Android接口定義語言,用于實現 Android 兩個進程之間進行進程間通信&#xff08…

Clickhouse的聯合索引

Clickhouse 有了單獨的鍵索引,為什么還需要有聯合索引呢?了解過mysql的兄弟們應該都知道這個事。 對sql比較熟悉的兄弟們估計看見這個聯合索引心里大概有點數了,不過clickhouse的聯合索引相比mysql的又有些不一樣了,mysql 很遵循最…

深入解析Spring Boot的application.yml配置文件

目錄 引言Spring Boot配置文件簡介 application.yml的優點 基本結構與語法 YAML語法基礎Spring Boot中application.yml的基本結構 常見配置項詳解 服務器配置數據源配置日志配置其他常見配置 環境配置與Profile 多環境配置激活Profile 高級配置與技巧 屬性的占位符替換自定義配…

Spring源碼二十:Bean實例化流程三

上一篇Spring源碼十九:Bean實例化流程二中,我們主要討論了單例Bean創建對象的主要方法getSingleton了解到了他的核心流程無非是:通過一個簡單工廠的getObject方法來實例化bean,當然spring在實例化前后提供了擴展如:bef…

第5章-組合序列類型

#全部是重點知識,必須會。 了解序列和索引|的相關概念 掌握序列的相關操作 掌握列表的相關操作 掌握元組的相關操作 掌握字典的相關操作 掌握集合的相關操作1,序列和索引 1,序列是一個用于存儲多個值的連續空間,每一個值都對應一…

升級之道:精通Conda的自我升級藝術

升級之道:精通Conda的自我升級藝術 引言 Conda是Python和其他科學計算語言的強大包管理器,它不僅管理著包的安裝和依賴,還負責自身的更新。隨著開源社區的不斷發展,Conda定期發布新版本以修復已知問題、增加新功能和提高性能。本…

[面試愛問] https 的s是什么意思,有什么作用?

HTTPS 中的 "S" 代表 "Secure",即安全的意思。HTTPS(全稱是 HyperText Transfer Protocol Secure)是HTTP(HyperText Transfer Protocol)的安全版本,主要作用是為互聯網通信提供安全保護…

靈活多變的對象創建——工廠方法模式(Python實現)

1. 引言 大家好,又見面了!在上一篇文章中,我們聊了聊簡單工廠模式,今天,我們要進一步探討一種更加靈活的工廠設計模式——工廠方法模式。如果說簡單工廠模式是“萬能鑰匙”,那工廠方法模式就是“變形金剛”…