性夜影院午夜看片,无码精品久久一区二区三区,婷婷成人丁香五月综合激情,校园春色 qvod,性调教室高h学校

python中的logging日志模塊

今天和大家分享一下Python中的logging日志模塊,日志是程序不可或缺的一部分。它可以記錄程序的運行情況,幫助我們更便捷地發(fā)現(xiàn)問題,恰好Python中的logging日志模塊給我們提供了這個機會,希望看完這篇分享之后能夠對正在學習Python的同學有所幫助!

logging給我們提供了五種函數用來輸出日志:debug()、info()、waring()、error()和critical()

這五種函數的使用場景:

DEBUG:詳細信息,典型地調試問題時會感興趣。

INFO: 證明事情按預期工作。

WARNING: 表明發(fā)生了一些意外,或者不久的將來會發(fā)生問題(如‘磁盤滿了’)。軟件還是在正常工作。

ERROR:由于更嚴重的問題,軟件已不能執(zhí)行一些功能了。

CRITICAL:嚴重錯誤,表明軟件已不能繼續(xù)運行了。

這篇文章只介紹logging的簡單使用,下一篇文章將會介紹設置復雜的配置,以便滿足更多的需求

簡單配置

簡單的配置適用于小的腳本文件中或者是小的項目中

Python中的logging日志模塊

首先我們利用了logging.basicConfig()函數設置logging。下面介紹其中的屬性

level,設置需要捕獲的日志級別,如果日志消息的級別高于設定的值則捕獲該日志消息把它打印到屏幕上或者存儲到文件中,如果低于該級別則不捕獲

format,用于設置日志消息的格式

Attribute Format Description

asctime %(asctime)s 將日志的時間構造成可讀的形式,默認情況下是‘2016-02-08 12:00:00,123’精確到毫秒

filename %(filename)s 包含path的文件名

funcName %(funcName)s 由哪個function發(fā)出的log

levelname %(levelname)s 日志的最終等級(被filter修改后的)

message %(message)s 日志信息

lineno %(lineno)d 當前日志的行號

pathname %(pathname)s 完整路徑

process %(process)s 當前進程

thread %(thread)s 當前線程

filemode:設置記錄日志的方式,'w'將會重新改寫整個日志文件,'a'將會在原來的文件中追加內容

3. datefmt:可以設置日志消息中時間的顯示格式

4. filename:設置將日志記錄到那個文件當中,如果不設置這個值,日志將會打印到屏幕上

5. filemode:設置將日志寫入文件的方式,'a'是追加到文件中,'w'是重寫文件

注意:上面配置的屬性都是可選的,他們都是有默認值的

分析代碼

在代碼中我們將日志以追加的方式寫到同目錄中的my.log中,并設置了消息的格式和處理消息的級別是INFO,所以只有

INFO和比INFO級別更高的日志消息我們才會記錄捕獲

我們設置了兩個函數test1、test2,在test1中

Python中的logging日志模塊

test1

我們可以在日志消息中引用變量,我們看看運行的效果

Python中的logging日志模塊

my.log

可以看到只在my.log文件中寫入了info和warning消息,而程序中的debug消息并沒有寫入,這是因為debug的級別小于info。

今天的分享到這里就結束了,希望大家能夠持續(xù)關注馬哥教育官網,每天都會有優(yōu)質內容與大家分享歐!

聲明:文章來源于網絡,侵刪!

相關新聞

歷經多年發(fā)展,已成為國內好評如潮的Linux云計算運維、SRE、Devops、網絡安全、云原生、Go、Python開發(fā)專業(yè)人才培訓機構!