一、日志介紹
1、日志級別:日志的優(yōu)先級、重要性或者嚴重程度
2、日志的作用:調試程序,跟蹤定位bug,分析用戶行為與數據統計
3、常見的日志級別(從小級別到大級別排序):
????????debug:調試級別,打印非常詳細的日志信息,通常用于代碼調試
????????info:信息級別,打印一般的日志信息,突出強調程序的運行過程
????????warming:警告級別,打印警告信息,表明可能出現潛在的錯誤
????????error:錯誤級別,打印錯誤異常信息,該級別的錯誤可能導致程序無法運行
????????critical:嚴重錯誤級別,這表明系統可能無法繼續(xù)運行
4、當指定日志級別后,程序會記錄所有日志級別大于或者等于指定級別的東西
5、日志的格式:
????????%(levelno)s 打印日志級別的數值
????????%(levelname)s 打印日志級別名稱
????????%(pathname)s 打印當前執(zhí)行程序的路徑,其實就是sys.argv[0]
????????%(filename)s 打印當前執(zhí)行程序名
????????%(funcName)s 打印日志的當前函數
????????%(lineno)d 打印日志的當前行號
????????%(asctime)s 打印日志的記錄時間
????????%(thread)d 打印線程ID
????????%(threadName)s 打印線程的名稱
????????%(process)d 打印進程的ID
????????%(message)s 打印日志的信息
二、logging用法
基本用法:
# 導庫,一個標準的第三方庫用于日志的打印
import logging
# 基本用法
logging.debug('這是一條調試信息')
logging.info('這是日志信息')
logging.warning('打印警告')
logging.error('這是一條錯誤信息')
logging.critical('這是一條嚴重錯誤信息')
輸出信息如下:
WARNING:root:打印警告
ERROR:root:這是一條錯誤信息
CRITICAL:root:這是一條嚴重錯誤信息
上述代碼中我們打印了五種日志,但是輸出結果只有三種,這是因為指定日志級別后,程序會記錄大于或者等于指定級別的日志,下面我們來指定打印debug級別的日志:
# 導包
import logging
# 設置日志級別 打印日志
logging.basicConfig(level=logging.DEBUG)
# 基本用法
logging.debug('這是一條調試信息')
logging.info('這是日志信息')
logging.warning('打印警告')
logging.error('這是一條錯誤信息')
logging.critical('這是一條嚴重錯誤信息')
輸出結果如下:
DEBUG:root:這是一條調試信息
INFO:root:這是日志信息
WARNING:root:打印警告
ERROR:root:這是一條錯誤信息
CRITICAL:root:這是一條嚴重錯誤信息
我們還可以指定日志的格式,演示輸出時的日志格式化:
import logging
fm = "%(asctime)s %(levelname)s [%(name)s] [%(filename)s] [%(funcName)s:%(lineno)d]"
# 設置日志級別 打印日志
logging.basicConfig(level=logging.DEBUG,format=fm)
# 基本用法
logging.debug('這是一條調試信息')
logging.info('這是日志信息')
logging.warning('打印警告')
logging.error('這是一條錯誤信息')
logging.critical('這是一條嚴重錯誤信息')
?輸出信息如下:
2023-07-17 22:48:59,062 DEBUG [root] [logger.py] [<module>:36]
2023-07-17 22:48:59,063 INFO [root] [logger.py] [<module>:37]
2023-07-17 22:48:59,063 WARNING [root] [logger.py] [<module>:38]
2023-07-17 22:48:59,063 ERROR [root] [logger.py] [<module>:39]
2023-07-17 22:48:59,063 CRITICAL [root] [logger.py] [<module>:40]
我們還可以輸出日志到指定的文件:
# 導庫,一個標準的第三方庫用于日志的打印
import logging
fm = "%(asctime)s %(levelname)s [%(name)s] [%(filename)s] [%(funcName)s:%(lineno)d]"
# 設置日志級別 打印日志 設置日志打印的文件路徑
logging.basicConfig(level=logging.DEBUG,format=fm,filename="testlog//log01.log")
# 基本用法
logging.debug('這是一條調試信息')
logging.info('這是日志信息')
logging.warning('打印警告')
logging.error('這是一條錯誤信息')
logging.critical('這是一條嚴重錯誤信息')
指定了日志打印的文件后點擊運行,打開testlog文件夾下的log01文件,能發(fā)現已經打印了:文章來源:http://www.zghlxwxcb.cn/news/detail-704375.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-704375.html
到了這里,關于python中打印日志的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!