Python 日志logging模块用法简单示例


Posted in Python onOctober 18, 2019

本文实例讲述了Python 日志logging模块用法。分享给大家供大家参考,具体如下:

demo.py(日志,输出到控制台):

import logging  # 导入logging模块
# 日志级别默认是WARNING
logging.basicConfig(level=logging.WARNING,
          format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s')
# 开始使用log功能
logging.info('这是 loggging info message')
logging.debug('这是 loggging debug message')
logging.warning('这是 loggging a warning message')
logging.error('这是 loggging error message')
logging.critical('这是 loggging critical message')

demo.py(日志,输出到文件):

import logging
# 配置日志的输出文件,以及文件的打开方式
logging.basicConfig(level=logging.WARNING,
          filename='./log.txt',
          filemode='a',  # a表示追加的模式打开文件
          format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s')
# use logging
logging.info('这是 loggging info message')
logging.debug('这是 loggging debug message')
logging.warning('这是 loggging a warning message')
logging.error('这是 loggging error message')
logging.critical('这是 loggging critical message')

demo.py(日志,同时输出到文件和控制台):

import logging
# 第一步,创建一个logger
logger = logging.getLogger()
logger.setLevel(logging.INFO) # Log等级总开关
# 第二步,创建一个handler,用于写入日志文件
logfile = './log.txt'
fh = logging.FileHandler(logfile, mode='a') # mode表示文件的打开方式
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')

Python 日志logging模块用法简单示例

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python矩阵常见运算操作实例总结
Sep 29 Python
Python tkinter实现的图片移动碰撞动画效果【附源码下载】
Jan 04 Python
Python读取图片为16进制表示简单代码
Jan 19 Python
python2.7实现FTP文件下载功能
Apr 15 Python
python3使用SMTP发送HTML格式邮件
Jun 19 Python
详解Python是如何实现issubclass的
Jul 24 Python
简单瞅瞅Python vars()内置函数的实现
Sep 27 Python
基于Python新建用户并产生随机密码过程解析
Oct 08 Python
Windows下实现将Pascal VOC转化为TFRecords
Feb 17 Python
基于spring boot 日志(logback)报错的解决方式
Feb 20 Python
Python接口测试文件上传实例解析
May 22 Python
python中pop()函数的语法与实例
Dec 01 Python
python调用matplotlib模块绘制柱状图
Oct 18 #Python
Python Django模板之模板过滤器与自定义模板过滤器示例
Oct 18 #Python
树莓派4B+opencv4+python 打开摄像头的实现方法
Oct 18 #Python
python使用Matplotlib改变坐标轴的默认位置
Oct 18 #Python
python调用Matplotlib绘制分布点图
Oct 18 #Python
Python 异常处理Ⅳ过程图解
Oct 18 #Python
python库matplotlib绘制坐标图
Oct 18 #Python
You might like
PHP编程与应用
2006/10/09 PHP
PHP中文分词 自动获取关键词介绍
2012/11/13 PHP
深入PHP中的HashTable结构详解
2013/06/13 PHP
解析如何修改phpmyadmin中的默认登陆超时时间
2013/06/25 PHP
详解WordPress中分类函数wp_list_categories的使用
2016/01/04 PHP
Laravel 5.3 学习笔记之 错误&日志
2016/08/28 PHP
PHP实现的登录页面信息提示功能示例
2017/07/24 PHP
php学习笔记之字符串常见操作总结
2019/07/16 PHP
学习YUI.Ext基础第一天
2007/03/10 Javascript
原生js事件的添加和删除的封装
2014/07/01 Javascript
分享20款美化网站的 jQuery Lightbox 灯箱插件
2014/10/10 Javascript
angularJS提交表单(form)
2015/02/09 Javascript
通过设置CSS中的position属性来固定层的位置
2015/12/14 Javascript
基于socket.io+express实现多房间聊天
2016/03/17 Javascript
ReactNative列表ListView的用法
2017/08/02 Javascript
理解javascript async的用法
2017/08/22 Javascript
教你如何用node连接redis的示例代码
2018/07/12 Javascript
Vue组件化开发之通用型弹出框的实现
2020/02/28 Javascript
Vue使用screenfull实现全屏效果
2020/09/17 Javascript
python使用xlrd模块读取xlsx文件中的ip方法
2019/01/11 Python
解决python打不开文件(文件不存在)的问题
2019/02/18 Python
Python正则表达式匹配日期与时间的方法
2019/07/07 Python
手把手教你Python yLab的绘制折线图的画法
2019/10/23 Python
Python批量将图片灰度化的实现代码
2020/04/11 Python
浅析Python 字符编码与文件处理
2020/09/24 Python
彪马土耳其官网:PUMA土耳其
2019/07/14 全球购物
Linux常见面试题
2016/10/04 面试题
四种会话跟踪技术
2015/05/20 面试题
财务管理职业生涯规划范文
2013/12/27 职场文书
经典大学生求职信范文
2014/01/06 职场文书
初中升旗仪式演讲稿
2014/05/08 职场文书
硕士生找工作求职信
2014/07/05 职场文书
《索溪峪的野》教学反思
2016/02/19 职场文书
委托开发合同书(标准版)
2019/08/07 职场文书
Android Studio实现简易进制转换计算器
2022/05/20 Java/Android
使用compose函数优化代码提高可读性及扩展性
2022/06/16 Javascript