Python的log日志功能及设置方法


Posted in Python onJuly 11, 2019

引入:Python中有个logging模块可以完成相关信息的记录,在debug时用它往往事半功倍

一、日志级别(从低到高):

DEBUG :详细的信息,通常只出现在诊断问题上

INFO:确认一切按预期运行

WARNING:一个迹象表明,一些意想不到的事情发生了,或表明一些问题在不久的将来(例如。磁盘空间低”)。这个软件还能按预期工作。

ERROR:更严重的问题,软件没能执行一些功能

CRITICAL :一个严重的错误,这表明程序本身可能无法继续运行

注:这5个等级,也分别对应5种打日志的方法: debug 、info 、warning 、error 、critical。默认的是WARNING,当在WARNING或之上时才被跟踪。

二、日志输出:显示到控制台或保存到文件中,可以灵活选用

# 这里为了简便,同时处理:输出控制台和保存到文件中
​
import logging 
​
# 第一步,创建一个logger 
logger = logging.getLogger() 
logger.setLevel(logging.INFO) # Log等级总开关 
​
# 第二步,创建一个handler,用于写入日志文件 
logfile = './log.txt' 
fh = logging.FileHandler(logfile, mode='a') # open的打开模式这里可以进行参考
fh.setLevel(logging.DEBUG) # 输出到file的log等级的开关 
​
# 第三步,再创建一个handler,用于输出到控制台 
ch = logging.StreamHandler() 
ch.setLevel(logging.WARNING)  # 输出到console的log等级的开关 
​
# 第四步,定义handler的输出格式 
formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s") 
fh.setFormatter(formatter) 
ch.setFormatter(formatter) 
​
# 第五步,将logger添加到handler里面 
logger.addHandler(fh) 
logger.addHandler(ch) 
​
# 日志 
logger.debug('这是 logger debug message') 
logger.info('这是 logger info message') 
logger.warning('这是 logger warning message') 
logger.error('这是 logger error message') 
logger.critical('这是 logger critical message')

三、日志格式说明

logging.basicConfig函数中,可以指定日志的输出格式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: 打印日志信息

以上这篇Python的log日志功能及设置方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中os和shutil模块实用方法集锦
May 13 Python
Python实现遍历windows所有窗口并输出窗口标题的方法
Mar 13 Python
详解Python网络爬虫功能的基本写法
Jan 28 Python
python使用Pycharm创建一个Django项目
Mar 05 Python
单利模式及python实现方式详解
Mar 20 Python
python修改list中所有元素类型的三种方法
Apr 09 Python
Python多进程multiprocessing.Pool类详解
Apr 27 Python
Python3.4 tkinter,PIL图片转换
Jun 21 Python
Python实现批量执行同目录下的py文件方法
Jan 11 Python
django模板结构优化的方法
Feb 28 Python
wxpython绘制圆角窗体
Nov 18 Python
python性能测试工具locust的使用
Dec 28 Python
python使用装饰器作日志处理的方法
Jul 11 #Python
Python日志无延迟实时写入的示例
Jul 11 #Python
深入了解Python iter() 方法的用法
Jul 11 #Python
用python给自己做一款小说阅读器过程详解
Jul 11 #Python
Python 200行代码实现一个滑动验证码过程详解
Jul 11 #Python
ML神器:sklearn的快速使用及入门
Jul 11 #Python
python 随机森林算法及其优化详解
Jul 11 #Python
You might like
PHP实现文字写入图片功能
2019/02/18 PHP
php+mysql实现的无限分类方法类定义与使用示例
2020/05/27 PHP
use jscript List Installed Software
2007/06/11 Javascript
JS修改css样式style浅谈
2013/05/06 Javascript
jquery js 获取时间差、时间格式具体代码
2013/06/05 Javascript
获取当前点击按钮的id用this.id实现
2014/03/17 Javascript
jQuery实现滚动鼠标放大缩小图片的方法(附demo源码下载)
2016/03/05 Javascript
jQuery中的each()详细介绍(推荐)
2016/05/25 Javascript
利用JS实现数字增长
2016/07/28 Javascript
Jquery获取当前城市的天气信息
2016/08/05 Javascript
利用Javascript仿Excel的数据透视分析功能
2016/09/07 Javascript
js自制图片放大镜功能
2017/01/24 Javascript
bootstrap响应式导航条模板使用详解(含下拉菜单,弹出框)
2017/11/17 Javascript
security.js实现的RSA加密功能示例
2018/06/06 Javascript
vue实现多组关键词对应高亮显示功能
2019/07/25 Javascript
浅探express路由和中间件的实现
2019/09/30 Javascript
[58:25]VP vs RNG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
python赋值操作方法分享
2013/03/23 Python
利用ctypes提高Python的执行速度
2016/09/09 Python
对python判断是否回文数的实例详解
2019/02/08 Python
python 使用socket传输图片视频等文件的实现方式
2019/08/07 Python
python实现布隆过滤器及原理解析
2019/12/08 Python
Python基于pandas爬取网页表格数据
2020/05/11 Python
python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图
2020/08/04 Python
Ubuntu 20.04安装Pycharm2020.2及锁定到任务栏的问题(小白级操作)
2020/10/29 Python
python+flask编写一个简单的登录接口
2020/11/13 Python
用python对excel进行操作(读,写,修改)
2020/12/25 Python
Python环境搭建过程从安装到Hello World
2021/02/05 Python
世界第一曲奇连锁店:Mrs. Fields Cookies
2017/02/04 全球购物
新西兰便宜隐形眼镜购买网站:QUICKLENS New Zealand
2019/03/02 全球购物
可靠的数据流传输TCP
2016/03/15 面试题
校庆活动方案
2014/03/31 职场文书
巾帼志愿者活动方案
2014/08/17 职场文书
秋季运动会广播稿(30篇)
2014/09/13 职场文书
2015年医院工作总结范文
2015/04/09 职场文书
vue如何批量引入组件、注册和使用详解
2021/05/12 Vue.js