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实现提取谷歌音乐搜索结果的方法
Jul 10 Python
使用Python编写一个最基础的代码解释器的要点解析
Jul 12 Python
python导入csv文件出现SyntaxError问题分析
Dec 15 Python
使用TensorFlow实现SVM
Sep 06 Python
python并发编程多进程 互斥锁原理解析
Aug 20 Python
Python学习笔记之列表和成员运算符及列表相关方法详解
Aug 22 Python
python多线程分块读取文件
Aug 29 Python
pytorch三层全连接层实现手写字母识别方式
Jan 14 Python
Python chardet库识别编码原理解析
Feb 18 Python
Python+unittest+requests 接口自动化测试框架搭建教程
Oct 09 Python
Python调用SMTP服务自动发送Email的实现步骤
Feb 07 Python
方法汇总:Python 安装第三方库常用
Apr 26 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 随机数的产生、页面跳转、件读写、文件重命名、switch语句
2009/08/07 PHP
PHP中遍历stdclass object的实现代码
2011/06/09 PHP
从PHP的源码中深入了解stdClass类
2014/04/18 PHP
php版微信js-sdk支付接口类用法示例
2016/10/12 PHP
php实例化一个类的具体方法
2019/09/19 PHP
任意位置显示html菜单
2007/02/01 Javascript
js中根据字数截取字符串,不能截断url
2012/01/12 Javascript
JS小游戏之极速快跑源码详解
2014/09/25 Javascript
跟我学习javascript的全局变量
2015/11/16 Javascript
JavaScript 限制文本框不可输入英文单双引号的方法
2016/12/20 Javascript
原生JS实现垂直手风琴效果
2017/02/19 Javascript
vue 动态改变静态图片以及请求网络图片的实现方法
2018/02/07 Javascript
微信小程序自定义tab实现多层tab嵌套功能
2018/06/15 Javascript
简述JS控制台的使用
2018/07/15 Javascript
vue实现输入框自动跳转功能
2020/05/20 Javascript
vue任意关系组件通信与跨组件监听状态vue-communication
2020/10/18 Javascript
小程序自定义弹框效果
2020/11/16 Javascript
原生JavaScript实现进度条
2021/02/19 Javascript
[57:53]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#3OG VS VP
2016/03/03 DOTA
Python获取当前路径实现代码
2017/05/08 Python
详解flask表单提交的两种方式
2018/07/21 Python
利用python numpy+matplotlib绘制股票k线图的方法
2019/06/26 Python
如何通过雪花算法用Python实现一个简单的发号器
2019/07/03 Python
python日志模块logbook使用方法
2019/09/19 Python
Python多线程操作之互斥锁、递归锁、信号量、事件实例详解
2020/03/24 Python
pyecharts动态轨迹图的实现示例
2020/04/17 Python
CSS3解决移动页面上点击链接触发色块的问题
2016/06/03 HTML / CSS
css3高级选择器使用方法
2013/12/02 HTML / CSS
课外访万家心得体会
2014/09/03 职场文书
2014年班组建设工作总结
2014/12/01 职场文书
违反工作规定检讨书范文
2014/12/14 职场文书
汤姆叔叔的小屋读书笔记
2015/06/30 职场文书
文明上网主题班会
2015/08/14 职场文书
《活见鬼》教学反思
2016/02/24 职场文书
Pytorch 统计模型参数量的操作 param.numel()
2021/05/13 Python