Python中的logging模塊實(shí)現(xiàn)日志打印
前言:
大家在寫代碼的時(shí)候,經(jīng)常會(huì)使用print打印日志方便排查問(wèn)題,然而print的問(wèn)題就是太過(guò)簡(jiǎn)單,缺少時(shí)間、日志級(jí)別等格式化信息。
Python自帶的logging模塊,很簡(jiǎn)單就能實(shí)現(xiàn)日志的配置和打印,它有兩種用法,方法1是把日志輸出到標(biāo)準(zhǔn)輸出,其實(shí)就是命令行界面,方法2則是輸出日志到文件,更加方便。
方法1:配置并輸出日志到標(biāo)準(zhǔn)輸出
import logging ? LOG_FORMAT = "%(asctime)s - %(levelname)s - %(message)s" logging.basicConfig(level=logging.DEBUG, format=LOG_FORMAT) ? ? logging.info("清空重建表")
當(dāng)執(zhí)行程序,就會(huì)輸出:
2021-01-24 10:43:37,883 - INFO - 清空重建表
比自己用print要好用一些了。
方法2:配置輸出到日志文件
import logging import logging.handlers import os ? ? LOG_FILE = "test_log.log" logging.basicConfig(filename=LOG_FILE, ? ? ? ? ? ? ? ? ? ? filemode="w", ? ? ? ? ? ? ? ? ? ? format="[%(levelname)s] %(asctime)s [%(filename)s:%(lineno)d, %(funcName)s] %(message)s", ? ? ? ? ? ? ? ? ? ? level=logging.INFO) time_hdls = logging.handlers.TimedRotatingFileHandler(LOG_FILE, when='D', interval=1, backupCount=7) logging.getLogger().addHandler(time_hdls) ? logging.info("hello world")
然后,我們會(huì)發(fā)現(xiàn)有這個(gè)表現(xiàn):
- 1、多了一個(gè)文件,叫做test_log.log;
- 2、文件中是這樣的內(nèi)容,信息更加豐富:
[INFO] 2021-03-29 22:19:46,753 [testlog.py:14, <module>] hello world hello world
- 3、這個(gè)日志文件,會(huì)每天備份一個(gè)文件,并且只保留7天的日志;
真正的線上服務(wù),是會(huì)這樣來(lái)配置日志的,方便、強(qiáng)大。
到此這篇關(guān)于Python中的logging模塊實(shí)現(xiàn)日志打印的文章就介紹到這了,更多相關(guān)logging日志打印內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
盤點(diǎn)20個(gè)Python數(shù)據(jù)科學(xué)庫(kù)神器打造數(shù)據(jù)魔法世界
數(shù)據(jù)科學(xué)家和分析師常常使用?Python?來(lái)處理數(shù)據(jù)、進(jìn)行分析和可視化,Python生態(tài)系統(tǒng)中有許多庫(kù),但有一些庫(kù)是數(shù)據(jù)科學(xué)家日常工作中必不可少的,本文將深入介紹20個(gè)重要的Python?庫(kù),包括示例代碼和用例2024-01-01詳解Python垃圾回收機(jī)制和常量池的驗(yàn)證
這篇文章主要介紹了詳解Python垃圾回收機(jī)制和常量池的驗(yàn)證,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-03-03python Dijkstra算法實(shí)現(xiàn)最短路徑問(wèn)題的方法
這篇文章主要介紹了python Dijkstra算法實(shí)現(xiàn)最短路徑問(wèn)題的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09Python爬蟲(chóng)實(shí)現(xiàn)爬取下載網(wǎng)站數(shù)據(jù)的幾種方法示例
這篇文章主要為大家介紹了Python爬蟲(chóng)實(shí)現(xiàn)爬取下載網(wǎng)站數(shù)據(jù)的幾種方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11解決Scrapy安裝錯(cuò)誤:Microsoft Visual C++ 14.0 is required...
下面小編就為大家?guī)?lái)一篇解決Scrapy安裝錯(cuò)誤:Microsoft Visual C++ 14.0 is required...的問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10Django使用裝飾器限制對(duì)視圖的訪問(wèn)及實(shí)現(xiàn)原理
除了可以在視圖處理中校驗(yàn)用戶身份以及驗(yàn)證用戶權(quán)限之外,Django還提供了便捷的裝飾器來(lái)完成這兩類校驗(yàn),下面介紹這兩個(gè)裝飾器的使用方法與實(shí)現(xiàn)原理,對(duì)Django裝飾器限制視圖訪問(wèn)相關(guān)知識(shí)感興趣的朋友一起看看吧2022-10-10Python的Django框架中自定義模版標(biāo)簽的示例
這篇文章主要介紹了Python的Django框架中自定義模版標(biāo)簽的示例,標(biāo)簽的用處比過(guò)濾器更多,需要的朋友可以參考下2015-07-07基于Python實(shí)現(xiàn)倒計(jì)時(shí)工具
這篇文章主要為大家詳細(xì)介紹了基于Python實(shí)現(xiàn)倒計(jì)時(shí)工具,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08