python logging日志模塊原理及操作解析
一、基本介紹
logging 模塊是python自帶的一個包,因此在使用的時候,不必安裝,只需要import即可。
logging有 5 個不同層次的日志級別,可以將給定的 logger 配置為這些級別:
- DEBUG:詳細信息,用于診斷問題。Value=10。
- INFO:確認代碼運行正常。Value=20。
- WARNING:意想不到的事情發(fā)生了,或預(yù)示著某個問題。但軟件仍按預(yù)期運行。Value=30。
- ERROR:出現(xiàn)更嚴重的問題,軟件無法執(zhí)行某些功能。Value=40。
- CRITICAL:嚴重錯誤,程序本身可能無法繼續(xù)運行。Value=50。
二、基本操作
主要調(diào)用logging.basicConfig(***kwargs*)這個函數(shù)對logging進行設(shè)置。函數(shù)常用的參數(shù)如下:
- level:主要調(diào)整logging的級別
- filename:輸出日志的路徑
- filemode:直接寫入還是追加寫入
- format:輸出的格式
示例一:通過調(diào)整format,可以輸出我們想要的格式
import logging
logging.basicConfig(format='%(asctime)s - %(message)s', datefmt='%d-%b-%y %H:%M:%S')
logging.warning('Admin logged out')
結(jié)果:
12-Jul-18 20:53:19 - Admin logged out
示例二:logging寫多文件日志
#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
logging模塊寫多文件日志
"""
import logging
#創(chuàng)建文件
file_1 = logging.FileHandler('log_1.log', 'a')
#創(chuàng)建格式
fat = logging.Formatter(fmt="%(asctime)s - %(name)s - %(levelname)s - %(module)s - %(message)s")
#文件應(yīng)用格式
file_1.setFormatter(fat)
file_2 = logging.FileHandler('log_2.log', 'a')
fmt = logging.Formatter()
file_2.setFormatter(fmt)
logger1 = logging.Logger('s1', level=logging.ERROR)
logger1.addHandler(file_1)
logger1.addHandler(file_2)
#寫日志
logger1.critical("i'm a error!")
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python 3中print函數(shù)的使用方法總結(jié)
這篇文章主要給大家總結(jié)介紹了關(guān)于Python 3中print函數(shù)的使用方法,python3中的print函數(shù)和之前版本的用法相差很多,本文通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2017-08-08
Python通過pytesseract庫實現(xiàn)識別圖片中的文字
Pytesseract是一個Python的OCR庫,它可以識別圖片中的文本并將其轉(zhuǎn)換成文本形式。本文就來用pytesseract庫實現(xiàn)識別圖片中的文字,感興趣的可以了解一下2023-05-05
python矩陣轉(zhuǎn)換為一維數(shù)組的實例
今天小編就為大家分享一篇python矩陣轉(zhuǎn)換為一維數(shù)組的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06
python中的與時間相關(guān)的模塊應(yīng)用場景分析
本文介紹了Python中與時間相關(guān)的幾個重要模塊:`time`、`datetime`、`calendar`、`timeit`、`pytz`和`dateutil`,并詳細闡述了每個模塊的主要功能和使用方法,本文通過實例代碼給大家介紹的非常詳細,需要的朋友參考下吧2024-12-12

