Python logging模块用法示例


Posted in Python onAugust 28, 2018

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

logging模块

函数式简单配置

import logging
logging.debug('debug message')
logging.info('info message')
logging.warning('warning message')
logging.error('error message')
logging.critical('critical message')

logging.basicConfig()函数中可通过具体参数来更改logging模块默认行为,可用参数有:

  • filename:用指定的文件名创建FiledHandler,这样日志会被存储在指定的文件中。
  • filemode:文件打开方式,在指定了filename时使用这个参数,默认值为“a”还可指定为“w”。
  • format:指定handler使用的日志显示格式。
  • datefmt:指定日期时间格式。
  • level:设置rootlogger(后边会讲解具体概念)的日志级别
  • stream:用指定的stream创建StreamHandler。可以指定输出到sys.stderr,sys.stdout或者文件(f=open('test.log','w')),默认为sys.stderr。若同时列出了filenamestream两个参数,则stream参数会被忽略。

format参数中可能用到的格式化串:

%(name)s Logger的名字
%(levelno)s 数字形式的日志级别
%(levelname)s 文本形式的日志级别
%(pathname)s 调用日志输出函数的模块的完整路径名,可能没有
%(filename)s 调用日志输出函数的模块的文件名
%(module)s 调用日志输出函数的模块名
%(funcName)s 调用日志输出函数的函数名
%(lineno)d 调用日志输出函数的语句所在的代码行
%(created)f 当前时间,用UNIX标准的表示时间的浮 点数表示
%(relativeCreated)d 输出日志信息时的,自Logger创建以 来的毫秒数
%(asctime)s 字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896”。逗号后面的是毫秒
%(thread)d 线程ID。可能没有
%(threadName)s 线程名。可能没有
%(process)d 进程ID。可能没有
%(message)s 用户输出的消息

logging库提供了多个组件:LoggerHandlerFilterFormatter。Logger对象提供应用程序可直接使用的接口,Handler发送日志到适当的目的地,Filter提供了过滤日志信息的方法,Formatter指定日志显示格式。另外,可以通过:logger.setLevel(logging.Debug)设置级别,当然,也可以通过fh.setLevel(logging.Debug)单对文件流设置某个级别。

def my_logger(filename,leval,file = True,stream = True):
  logger = logging.getLogger()
  formatter = logging.Formatter (fmt = '%(asctime)s--%(message)s----%(name)s--%(levelname)s--%(lineno)d',
                  datefmt = '%d/%m/%y %H:%M:%S')
  logger.setLevel(leval)
  if file:
    file_handler = logging.FileHandler(filename, encoding='utf-8')
    logger.addHandler(file_handler)
    file_handler.setFormatter(formatter)
  if stream:
    stream_handler = logging.StreamHandler()
    stream_handler.setFormatter(formatter)
    logger.addHandler(stream_handler)
  return logger
logger = my_logger('logging',logging.DEBUG)
logger.warning('warn!!!')

运行结果:

28/08/18 09:48:53--warn!!!----root--WARNING--27

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

Python 相关文章推荐
Python实现统计英文单词个数及字符串分割代码
May 28 Python
Python 装饰器使用详解
Jul 29 Python
基于python时间处理方法(详解)
Aug 14 Python
Python实现连接两个无规则列表后删除重复元素并升序排序的方法
Feb 05 Python
用python3 返回鼠标位置的实现方法(带界面)
Jul 05 Python
django实现支付宝支付实例讲解
Oct 17 Python
从numpy数组中取出满足条件的元素示例
Nov 26 Python
pytorch自定义二值化网络层方式
Jan 07 Python
python GUI库图形界面开发之PyQt5信号与槽基本操作
Feb 25 Python
使用Python内置模块与函数进行不同进制的数的转换
Apr 26 Python
matplotlib 三维图表绘制方法简介
Sep 20 Python
python之随机数函数的实现示例
Dec 30 Python
Python异常处理操作实例详解
Aug 28 #Python
Python封装原理与实现方法详解
Aug 28 #Python
python 中文件输入输出及os模块对文件系统的操作方法
Aug 27 #Python
python中cPickle类使用方法详解
Aug 27 #Python
python散点图实例之随机漫步
Aug 27 #Python
python3.5绘制随机漫步图
Aug 27 #Python
Python反射和内置方法重写操作详解
Aug 27 #Python
You might like
PHP实现C#山寨ArrayList的方法
2015/07/16 PHP
PHP中SSO Cookie登录分析和实现
2015/11/06 PHP
中高级PHP程序员应该掌握哪些技术?
2016/09/23 PHP
php简单计算年龄的方法(周岁与虚岁)
2016/12/06 PHP
PHP实现文件下载【实例分享】
2017/04/28 PHP
php readfile下载大文件失败的解决方法
2017/05/22 PHP
PHP实现发送微博消息功能完整示例
2019/12/04 PHP
爱恋千雪-US-AscII加密解密工具(网页加密)下载
2007/06/06 Javascript
JS之Date对象和获取系统当前时间详解
2014/01/13 Javascript
Jquery实现控件的隐藏和显示实例
2014/02/08 Javascript
jquery让返回的内容显示在特定div里(代码少而精悍)
2014/06/23 Javascript
JavaScript中的函数嵌套使用
2015/06/04 Javascript
基于jQuery实现的无刷新表格分页实例
2016/02/17 Javascript
深入理解JavaScript内置函数
2016/06/03 Javascript
js中使用使用原型(prototype)定义方法的好处详解
2016/07/04 Javascript
Jquery实现遮罩层的简单实例(就是弹出DIV周围都灰色不能操作)
2016/07/14 Javascript
jQuery实现带延时功能的水平多级菜单效果【附demo源码下载】
2016/09/21 Javascript
详解Vue + Vuex 如何使用 vm.$nextTick
2017/11/20 Javascript
详解Require.js与Sea.js的区别
2018/08/05 Javascript
JS实现匀速与减速缓慢运动的动画效果封装示例
2018/08/27 Javascript
Python实现两款计算器功能示例
2017/12/19 Python
Django视图和URL配置详解
2018/01/31 Python
python监控键盘输入实例代码
2018/02/09 Python
django admin 自定义替换change页面模板的方法
2019/08/23 Python
Python拆分大型CSV文件代码实例
2019/10/07 Python
Skyscanner阿联酋:全球领先的旅游搜索平台
2017/11/25 全球购物
DJI大疆德国官方商城:大疆无人机
2018/09/01 全球购物
激光脱毛、蓝光和护肤:Tria Beauty
2019/03/28 全球购物
Bibloo匈牙利:女装、男装、童装及鞋子和配饰
2019/04/14 全球购物
关于递归的一道.NET面试题
2013/05/12 面试题
秘书专业自荐信范文
2013/12/26 职场文书
质量月口号
2014/06/20 职场文书
艺术节开幕词
2015/01/28 职场文书
通知范文怎么写
2015/04/16 职场文书
党支部考察鉴定意见
2015/06/02 职场文书
祝福语集锦:送给毕业同学祝福语
2019/11/21 职场文书