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 win32com 操作Exce的l简单方法(必看)
May 25 Python
python语音识别实践之百度语音API
Aug 30 Python
Python批处理更改文件名os.rename的方法
Oct 26 Python
python实现n个数中选出m个数的方法
Nov 13 Python
PySide和PyQt加载ui文件的两种方法
Feb 27 Python
Python socket模块实现的udp通信功能示例
Apr 10 Python
Django之无名分组和有名分组的实现
Apr 16 Python
Python 中包/模块的 `import` 操作代码
Apr 22 Python
使用Python实现企业微信的自动打卡功能
Apr 30 Python
Python使用pyautocad+openpyxl处理cad文件示例
Jul 11 Python
浅谈在JupyterNotebook下导入自己的模块的问题
Apr 16 Python
Django debug为True时,css加载失败的解决方案
Apr 24 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
基于文本的搜索
2006/10/09 PHP
学习php设计模式 php实现门面模式(Facade)
2015/12/07 PHP
Laravel4中的Validator验证扩展用法详解
2016/07/26 PHP
PHP基于phpqrcode类生成二维码的方法详解
2018/03/14 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
2020/05/27 PHP
JavaScript 模仿vbs中的 DateAdd() 函数的代码
2007/08/13 Javascript
ext form 表单提交数据的方法小结
2008/08/08 Javascript
编写跨浏览器的javascript代码必备[js多浏览器兼容写法]
2008/10/29 Javascript
Jquery 最近浏览过的商品的功能实现代码
2010/05/14 Javascript
jQuery实现的立体文字渐变效果
2010/05/17 Javascript
javascript实现数字验证码的简单实例
2014/02/10 Javascript
javascript设置和获取cookie的方法实例详解
2016/01/05 Javascript
一个简单不报错的summernote 图片上传案例
2016/07/11 Javascript
Javascript的动态增加类的实现方法
2016/10/20 Javascript
vuejs父子组件通信的问题
2017/01/11 Javascript
JavaScript文件的同步和异步加载的实现代码
2017/08/19 Javascript
React操作真实DOM实现动态吸底部的示例
2017/10/23 Javascript
Vue proxyTable配置多个接口地址,解决跨域的问题
2020/09/11 Javascript
[52:22]EG vs VG Supermajor小组赛B组 BO3 第一场 6.2
2018/06/03 DOTA
在Django的URLconf中使用多个视图前缀的方法
2015/07/18 Python
python实现m3u8格式转换为mp4视频格式
2018/02/28 Python
Python使用Opencv实现图像特征检测与匹配的方法
2019/10/30 Python
python中Ansible模块的Playbook的具体使用
2020/05/28 Python
使用anaconda安装pytorch的实现步骤
2020/09/03 Python
Pycharm 解决自动格式化冲突的设置操作
2021/01/15 Python
美国二手奢侈品寄售网站:TheRealReal
2016/10/29 全球购物
豪华床上用品 :Jennifer Adams
2019/09/15 全球购物
雷朋巴西官方商店:Ray-Ban Brasil
2020/07/21 全球购物
酒店总经理欢迎词
2014/01/15 职场文书
高中军训感想800字
2014/02/23 职场文书
服务承诺书格式
2014/05/21 职场文书
质量月口号
2014/06/20 职场文书
大学生操行评语大全
2014/12/31 职场文书
2015年纪检监察工作总结
2015/04/08 职场文书
MySQL kill不掉线程的原因
2021/05/07 MySQL
Python字符串格式化方式
2022/04/07 Python