學會python——生成日志信息(python實例十二)

目錄

1、認識Python

2、環境與工具

2.1 python環境

2.2 Visual Studio Code編譯

3、生成日志信息

3.1 代碼構思

3.2 代碼示例

3.3 運行結果

4、總結


1、認識Python

Python 是一個高層次的結合了解釋性、編譯性、互動性和面向對象的腳本語言。

Python 的設計具有很強的可讀性,相比其他語言經常使用英文關鍵字或標點符號,它具有比其他語言更有特色的語法結構。

?

2、環境與工具

2.1 python環境

在Windows上使用命令行窗口查看所安裝的python版本

python --version

?

2.2 Visual Studio Code編譯

Visual Studio Code是一款由微軟開發且跨平臺的免費源代碼編輯器。該軟件以擴展的方式支持語法高亮、代碼自動補全、代碼重構功能,并且內置了命令行工具和Git 版本控制系統。

3、生成日志信息

3.1 代碼構思

先是新建了一個寫日志的類,使用creat_logger()函數生成了一個日志記錄器,然后直接向日志記錄器中寫入日志。

代碼中通過運行一個會報錯的程序來實現日志中警告信息的寫入。

3.2 代碼示例

import logging
import os# 配置日志記錄
class CreaterLogger:def __init__(self, filename, formatter, level):self.filename = filenameself.formatter = formatterself.level = leveldef creat_logger(self, logger_name):# 創建日志記錄器log_obj = logging.getLogger(logger_name)# 設置日志輸出級別log_obj.setLevel(self.level)handler = logging.FileHandler(self.filename, mode='w', encoding='utf-8')handler.setLevel(self.level)formatter = logging.Formatter(self.formatter)handler.setFormatter(formatter)log_obj.addHandler(handler)return log_objif __name__ == "__main__":# 設置日志文件名v_formatter = "時間:%(asctime)s || 文件名:%(filename)s || 行號:%(lineno)d || 級別:%(levelname)s || 內容:%(message)s"v_filename = 'test_logging.log'v_level = logging.DEBUGlogger_creator = CreaterLogger(v_filename, v_formatter, v_level)logger_obj = logger_creator.creat_logger('my_logger')logger_obj.debug('這是一條debug級別的日志信息')logger_obj.info('這是一條info級別的日志信息')logger_obj.warning('這是一條warning級別的日志信息')try:# 示例代碼塊,演示異常日志記錄,下面的不能運算,會報錯,進而會捕獲到異常1 / 0except Exception as e:logger_obj.exception('捕獲到一個異常')print(f"日志信息已寫入到 {os.path.abspath(v_filename)}")

3.3 運行結果

4、總結

該代碼展示了程序運行過程中報錯反饋,方便理解程序泛紅、警告反饋的具體實現。

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

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

相關文章

MySQL serverTimezone=UTC

在數據庫連接字符串中使用 serverTimezoneUTC 是一個常見的配置選項,特別是當數據庫服務器和應用程序服務器位于不同的時區時。這個選項指定了數據庫服務器應當使用的時區,以確保日期和時間數據在客戶端和服務器之間正確傳輸和處理。 UTC(協…

Vue-雙向數據綁定指令

v-model指令 雙向數據綁定就是當數據設置給表單元素時&#xff0c;修改這個數據會修改表單元素的值&#xff0c; 修改表單元素的值同樣也會修改這個數據 <body><div id"app"><input type"text" v-model"name"><p>{{name…

利用 Swifter 加速 Pandas 操作的詳細教程

利用 Swifter 加速 Pandas 操作的詳細教程 引言 Pandas 是數據分析中常用的庫&#xff0c;但在處理大型數據集時效率可能會較低。Swifter 提供了一種簡便的方法&#xff0c;通過并行處理來顯著加速 Pandas 操作。 Swifter 簡介 Swifter 是一個開源庫&#xff0c;旨在自動優…

一個項目學習Vue3---創建一個 Vue 應用

步驟1&#xff1a;安裝符合要求的node版本 目前官網要求使用的node.js版本為18.3及其以上 所以我們要安裝node.js 18.3及其以上版本 NVM安裝教程&#xff1a;一個項目學習Vue3---NVM和NPM安裝-CSDN博客 若不想安裝NVM&#xff0c;可以直接下載適合自己的node版本Node.js — …

Go 延遲調用 defer

&#x1f49d;&#x1f49d;&#x1f49d;歡迎蒞臨我的博客&#xff0c;很高興能夠在這里和您見面&#xff01;希望您在這里可以感受到一份輕松愉快的氛圍&#xff0c;不僅可以獲得有趣的內容和知識&#xff0c;也可以暢所欲言、分享您的想法和見解。 推薦:「stormsha的主頁」…

硬件實用技巧:電阻精度和常用阻值表

若該文為原創文章&#xff0c;轉載請注明原文出處 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/139986658 長沙紅胖子Qt&#xff08;長沙創微智科&#xff09;博文大全&#xff1a;開發技術集合&#xff08;包含Qt實用技術、樹莓派、三維、OpenCV…

Linux Vim最全面的教程

Vim編輯器概述 Vim是一款功能強大的文本編輯器&#xff0c;廣泛應用于Linux和Unix系統中。它是Vi編輯器的增強版&#xff0c;提供了更多的功能和更好的用戶界面。Vim的特點包括多模式編輯、高度可配置性、豐富的插件生態系統以及強大的文本處理能力。 Vim的基本操作 Vim的基…

C++ 20新特性之模塊

&#x1f4a1; 如果想閱讀最新的文章&#xff0c;或者有技術問題需要交流和溝通&#xff0c;可搜索并關注微信公眾號“希望睿智”。 為什么要引入模塊 在C 20之前&#xff0c;所有的代碼組織都依賴于預處理器和頭文件。這種方式主要存在以下四個問題&#xff1a;一是大型項目中…

來了,你的第一個AI智能體

為了能直觀的感受AI智能體&#xff0c;最好的方法是親手開發一個智能體&#xff0c;當然&#xff0c;這個智能體不能太復雜&#xff0c;否則難度太大&#xff0c;會打擊我們的熱情的&#xff0c;熱情是很寶貴的資源&#xff0c;必須要小心呵護。 我們在國內AI平臺語聚AI上搭建…

Batch入門教程

Batch學習在多個領域有不同的應用&#xff0c;但最常見的是在機器學習和教育學習領域。以下是一個關于Batch學習入門的清晰指南&#xff0c;將分別介紹這兩個領域中的Batch學習概念、方法和一些實用信息。 1. 機器學習中的Batch學習 定義與概念 Batch_Size&#xff1a;在機器…

RK3588 Android13 TvSetting 中增加 WebView 切換菜單

前言 電視產品,客戶要求在設置中設備偏好設置子菜單下增加一個 WebView切換菜單,一開始不知道怎么下手,后來想起來在設置開發者選項里有一個類似的菜單, 去把實現邏輯搞出來應該就ok。 效果圖 TvSetting 部分修改文件清單 packages/apps/TvSettings/Settings/res/values…

【吊打面試官系列-Mysql面試題】為表中得字段選擇合適得數據類型

大家好&#xff0c;我是鋒哥。今天分享關于 【為表中得字段選擇合適得數據類型】面試題&#xff0c;希望對大家有幫助&#xff1b; 為表中得字段選擇合適得數據類型 字段類型優先級: 整形>date,time>enum,char>varchar>blob,text 優先考慮數字類型&#xff0c;其次…

npm-check【實用教程】升級項目中的依賴

安裝 npm-check npm i -g npm-check檢查項目中的依賴 npm-check會顯示項目中沒有使用&#xff0c;以及有新版本的依賴 升級項目中的依賴 npm-check -u方向鍵上下可以移動圖中左側的箭頭空格鍵可選中/取消選中標注為 Major Update 和 Non-semver 類的版本&#xff0c;需去官網查…

Python課程設計:python制作俄羅斯方塊小游戲

基于python的俄羅斯方塊小游戲 目錄 基于python的俄羅斯方塊小游戲 1.概述 1.1 摘要 1.2 開發背景 1.3 開發環境 1.4 實現功能 2.代碼描述 2.1 模塊導入 2.2 初始化變量 2.3 播放音樂 2.4 創建方塊類 2.5 繪制游戲地圖 2.6 游戲初始化 2.7 繪制有邊框矩形 2.8 …

Curator框架的底層原理

Curator框架的底層原理主要圍繞以下幾個核心方面&#xff1a; 1. **異步操作**&#xff1a;Curator框架通過異步操作來提高性能和可擴展性。它使用Future、Callback或Watcher模式&#xff0c;允許在適當的時機返回結果或通知應用程序狀態的變化。 2. **錯誤處理**&#xff1a…

【小沐學AI】Python實現語音識別(Whisper-Web)

文章目錄 1、簡介2、下載2.1 openai-whisper2.2 whisper-web 結語 1、簡介 https://openai.com/index/whisper/ Whisper 是一種自動語音識別 &#xff08;ASR&#xff09; 系統&#xff0c;經過 680,000 小時的多語言和多任務監督數據的訓練&#xff0c;從網絡上收集。我們表…

VLAN的工作原理、劃分方式、配置示例

隨著網絡技術的飛速發展&#xff0c;VLAN&#xff08;Virtual Local Area Network&#xff0c;虛擬局域網&#xff09;技術已成為網絡分割和管理的重要工具。它不僅能提升網絡的安全性和效率&#xff0c;還極大地增強了網絡管理的靈活性。 VLAN概述 VLAN&#xff0c;即虛擬局…

ASPICE與ISO 26262在汽車行業中的協同關系

ASPICE&#xff08;Automotive Software Process Improvement and Capability dEtermination&#xff09;與ISO 26262之間的關系主要體現在以下幾個方面&#xff1a; 1.目標和關注點&#xff1a; ASPICE&#xff1a;是一種軟件和系統開發過程的評估和改進框架&#xff0c;專注…

Web前端第四次作業

目錄 一、編寫一個函數&#xff0c;形參是一個數組&#xff0c;返回數組中所有數字的平均值 二、編寫一個函數&#xff0c;形參是一個數組&#xff0c;返回數組中的最大值 三、編寫一個函數&#xff0c;形參是一個字符串&#xff0c;統計該字符串中每個字母出現的次數&#…

大數據之路 讀書筆記 Day1

大數據之路 讀書筆記 Day1 阿里巴巴大數據系統體系架構圖 1. 數據采集層 #mermaid-svg-YqqD2w3qV6jc2aGP {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-YqqD2w3qV6jc2aGP .error-icon{fill:#552222;}#mermaid-sv…