中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中什么是logging模塊

發布時間:2020-08-26 16:10:43 來源:億速云 閱讀:238 作者:Leah 欄目:編程語言

這篇文章將為大家詳細講解有關Python中什么是logging模塊,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

python的logging模塊

python提供了一個日志處理的模塊,那就是logging。

導入logging模塊使用以下命令:

import logging

logging模塊的用法:

1.簡單的將日志打印到屏幕上

import logging
logging.debug("This is debug message")
logging.info("This is info message")
logging.warning("This is warning message")
logging.error("This is error message")
logging.critical("This is critical message")

會在屏幕上顯示出以下內容:

WARNING:root:This is warning message
ERROR:root:This is error message
CRITICAL:root:This is critical message

默認情況下python的logging模塊將日志打印到了標準輸出中,也就是屏幕上,且只顯示了大于等于WARNING級別的日志.

這說明默認的日志級別設置為WARNING(日志級別等級CRITICAL > ERROR > WARNING > INFO > DEBUG)

默認直接輸出的日志格式為日志級別:Logger名稱:用戶:輸出消息。

2.現在修改日志的默認輸出級別為debug,重新設定輸出時間的格式,

import logging
logging.basicConfig(level=logging.DEBUG,
                    format="%(asctime)s %(levelname)s %(message)s",
                    datefmt="%Y-%m-%d %H:%M:%S")
logging.debug("This is debug message")
logging.info("This is info message")
logging.warning("This is warning message")
logging.error("This is error message")
logging.critical("This is critical message")

會在屏幕上顯示以下信息;

2017-07-02 10:41:18 DEBUG This is debug message
2017-07-02 10:41:18 INFO This is info message
2017-07-02 10:41:18 WARNING This is warning message
2017-07-02 10:41:18 ERROR This is error message
2017-07-02 10:41:18 CRITICAL This is critical message

3.現在想把程序產生的日志寫入文件當中,可以這樣設定:

import logging
logging.basicConfig(level=logging.DEBUG,
                    format="%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s",
                    datefmt="%Y-%m-%d %H:%M:%S",
                    filename="log.txt",
                    filemode="w")
logging.debug("This is debug message")
logging.info("This is info message")
logging.warning("This is warning message")
logging.error("This is error message")
logging.critical("This is critical message")

運行程序,會在腳本目錄下生成一個名為log.txt的文件。

log.txt文件的內容如下:

2017-07-02 10:49:13 logging_modules.py[line:211] DEBUG This is debug message
2017-07-02 10:49:13 logging_modules.py[line:212] INFO This is info message
2017-07-02 10:49:13 logging_modules.py[line:213] WARNING This is warning message
2017-07-02 10:49:13 logging_modules.py[line:214] ERROR This is error message
2017-07-02 10:49:13 logging_modules.py[line:215] CRITICAL This is critical message

在這里設定日志文件的輸出使用的是basicConfig這個方法:

logging.basicConfig函數各參數:
filename: 指定輸出日志的文件名
filemode: 和file函數意義相同,指定日志文件的打開模式,寫入模式用'w',追加模式使用'a'
format: 指定輸出的內容的格式,其中可以使用的參數有:
     %(levelno)s: 指定輸出日志的級別的數值
     %(levelname)s: 指定輸出日志的級別的名稱
     %(pathname)s: 指定當前執行程序的路徑,其實就是sys.argv[0]
     %(filename)s: 指定保存日志文件的名字
     %(funcName)s: 打印日志的當前函數
     %(lineno)d: 打印日志的當前行號
     %(asctime)s: 打印日志的時間
     %(thread)d: 打印線程ID
     %(threadName)s: 打印線程名稱
     %(process)d: 打印進程ID
     %(message)s: 打印日志信息
datefmt: 指定時間格式,同time.strftime()
level: 設置日志級別,默認為logging.WARNING,這里設定為logging.DEBUG

4.既想現在就看到輸出的日志,又想把程序運行的日志保存在文件里,方便以后查看,可以這樣設定:

import logging
logger=logging.getLogger()
#創建一個file_handle變量,用于把日志寫入到文件
file_handle=logging.FileHandler("log1.txt")
#創建一個stream_handle變量,用于輸出日志到屏幕上
stream_handle=logging.StreamHandler()
#設定輸出日志的級別為debug級別
logger.setLevel(logging.DEBUG)
#設定輸出日志的格式
fmt=logging.Formatter("%(asctime)s-%(levelname)s-%(message)s")
#為寫入文件的日志添加已設定的格式
file_handle.setFormatter(fmt)
#為輸出到屏幕的日志添加已設定的格式 
stream_handle.setFormatter(fmt)
logger.addHandler(file_handle)
logger.addHandler(stream_handle)
#設定輸出日志的信息
logging.debug("This is debug message")
logging.info("This is info message")
logging.warning("This is warning message")
logging.error("This is error message")
logging.critical("This is critical message")

運行程序后,會生成一個名為log1.txt的文件,文件的內容和屏幕上顯示的內容都是:

2017-07-02 11:04:53,622-DEBUG-This is debug message
2017-07-02 11:04:53,623-INFO-This is info message
2017-07-02 11:04:53,623-WARNING-This is warning message
2017-07-02 11:04:53,623-ERROR-This is error message
2017-07-02 11:04:53,624-CRITICAL-This is critical message

在這里,還可以添加以下選項用來指定把要寫入文件的日志設定為debug級別,而輸出到屏幕上的日志還是warning級別

fh.setLevel(logging.Debug)

關于Python中什么是logging模塊就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东丰县| 沾化县| 木里| 遵化市| 浪卡子县| 永靖县| 郓城县| 时尚| 平罗县| 大渡口区| 大洼县| 镶黄旗| 江孜县| 顺平县| 蒙山县| 晋州市| 高唐县| 扬州市| 仁化县| 库车县| 收藏| 中阳县| 鹤山市| 新郑市| 凯里市| 铜梁县| 崇信县| 双流县| 重庆市| 萨嘎县| 临清市| 集安市| 新竹县| 松桃| 兴宁市| 开化县| 延川县| 清涧县| 北辰区| 拉孜县| 嘉义市|