电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Python中關于logging模塊的學習筆記

瀏覽:7日期:2022-07-23 09:10:49

python的logging模塊

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

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

import logging

logging模塊的用法:

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

import logginglogging.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 logginglogging.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 logginglogging.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 logginglogger=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)

內容擴展:

日志的作用

通過log的分析,可以方便用戶了解系統或軟件、應用的運行情況;如果你的應用log足夠豐富,也可以分析以往用戶的操作行為、類型喜好、地域分布或其他更多信息;如果一個應用的log同時也分了多個級別,那么可以很輕易地分析得到該應用的健康狀況,及時發現問題并快速定位、解決問題,補救損失。

簡單來講就是,我們通過記錄和分析日志可以了解一個系統或軟件程序運行情況是否正常,也可以在應用程序出現故障時快速定位問題。比如,做運維的同學,在接收到報警或各種問題反饋后,進行問題排查時通常都會先去看各種日志,大部分問題都可以在日志中找到答案。再比如,做開發的同學,可以通過IDE控制臺上輸出的各種日志進行程序調試。對于運維老司機或者有經驗的開發人員,可以快速的通過日志定位到問題的根源。可見,日志的重要性不可小覷。日志的作用可以簡單總結為以下3點:

程序調試

了解軟件程序運行情況,是否正常

軟件程序運行故障分析與問題定位

如果應用的日志信息足夠詳細和豐富,還可以用來做用戶行為分析,如:分析用戶的操作行為、類型洗好、地域分布以及其它更多的信息,由此可以實現改進業務、提高商業利益。

到此這篇關于Python中關于logging模塊的學習筆記的文章就介紹到這了,更多相關Python之logging模塊相關介紹內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 南京兰江泵业有限公司-水解酸化池潜水搅拌机-絮凝反应池搅拌机-好氧区潜水推进器 | 防腐储罐_塑料储罐_PE储罐厂家_淄博富邦滚塑防腐设备科技有限公司 | 河南新乡德诚生产厂家主营震动筛,振动筛设备,筛机,塑料震动筛选机 | POS机办理_个人POS机免费领取 - 银联POS机申请首页 | 舞台木地板厂家_体育运动木地板_室内篮球馆木地板_实木运动地板厂家_欧氏篮球地板推荐 | 网优资讯-为循环资源、大宗商品、工业服务提供资讯与行情分析的数据服务平台 | 颚式破碎机,圆锥破碎机,制砂机-新乡市德诚机电制造有限公司 | 众品家具网-家具品牌招商_家具代理加盟_家具门户的首选网络媒体。 | 双工位钻铣攻牙机-转换工作台钻攻中心-钻铣攻牙机一体机-浙江利硕自动化设备有限公司 | 杭州代理记账多少钱-注册公司代办-公司注销流程及费用-杭州福道财务管理咨询有限公司 | 悬浮拼装地板_幼儿园_篮球场_悬浮拼接地板-山东悬浮拼装地板厂家 | 微波萃取合成仪-电热消解器价格-北京安合美诚科学仪器有限公司 | 导电银胶_LED封装导电银胶_半导体封装导电胶厂家-上海腾烁 | 云阳人才网_云阳招聘网_云阳人才市场_云阳人事人才网_云阳人家招聘网_云阳最新招聘信息 | 建筑消防设施检测系统检测箱-电梯**检测仪器箱-北京宇成伟业科技有限责任公司 | 纳米涂料品牌 防雾抗污纳米陶瓷涂料厂家_虹瓷科技 | 云南外加剂,云南速凝剂,云南外加剂代加工-普洱澜湄新材料科技有限公司 | 防爆型气象站_农业气象站_校园气象站_农业四情监测系统「山东万象环境科技有限公司」 | 北京网站建设公司_北京网站制作公司_北京网站设计公司-北京爱品特网站建站公司 | 爆破器材运输车|烟花爆竹运输车|1-9类危险品厢式运输车|湖北江南专用特种汽车有限公司 | 集菌仪_智能集菌仪_全封闭集菌仪_无菌检查集菌仪厂家-那艾 | 食安观察网| 酒店厨房设计_中央厨房设计_北京商用厨房设计公司-奇能商厨 | 转子泵_凸轮泵_凸轮转子泵厂家-青岛罗德通用机械设备有限公司 | X光检测仪_食品金属异物检测机_X射线检测设备_微现检测 | 阀门智能定位器_电液动执行器_气动执行机构-赫尔法流体技术(北京)有限公司 | 上海皓越真空设备有限公司官网-真空炉-真空热压烧结炉-sps放电等离子烧结炉 | 欧版反击式破碎机-欧版反击破-矿山石料破碎生产线-青州奥凯诺机械 | 苏州工作服定做-工作服定制-工作服厂家网站-尺品服饰科技(苏州)有限公司 | 医养体检包_公卫随访箱_慢病随访包_家签随访包_随访一体机-济南易享医疗科技有限公司 | 不锈钢搅拌罐_高速搅拌罐厂家-无锡市凡格德化工装备科技有限公司 | 橡胶接头|可曲挠橡胶接头|橡胶软接头安装使用教程-上海松夏官方网站 | 阿里巴巴诚信通温州、台州、宁波、嘉兴授权渠道商-浙江联欣科技提供阿里会员办理 | FFU_空气初效|中效|高效过滤器_空调过滤网-广州梓净净化设备有限公司 | 百度关键词优化_网站优化_SEO价格 - 云无限好排名 | 泥浆在线密度计厂家-防爆数字压力表-膜盒-远传压力表厂家-江苏大亚自控设备有限公司 | 冰晶石|碱性嫩黄闪蒸干燥机-有机垃圾烘干设备-草酸钙盘式干燥机-常州市宝康干燥 | 不锈钢列管式冷凝器,换热器厂家-无锡飞尔诺环境工程有限公司 | 美国PARKER齿轮泵,美国PARKER柱塞泵,美国PARKER叶片泵,美国PARKER电磁阀,美国PARKER比例阀-上海维特锐实业发展有限公司二部 | 南京泽朗生物科技有限公司| 江门流水线|江门工作台|江门市伟涛行工业设备有限公司 |