python logging添加filter教程


Posted in Python onDecember 24, 2019

例子一

def filter(self, record):
    """Our custom record filtering logic.
    Built-in filtering logic (via logging.Filter) is too limiting.
    """
    if not self.filters:
      return True
    matched = False
    rname = record.name # shortcut
    for name in self.filters:
      if rname == name or rname.startswith(name+'.'):
        matched = True
    return matched

例子二

def _create_log_handlers(stream):
  """Create and return a default list of logging.Handler instances.
  Format WARNING messages and above to display the logging level, and
  messages strictly below WARNING not to display it.
  Args:
   stream: See the configure_logging() docstring.
  """
  # Handles logging.WARNING and above.
  error_handler = logging.StreamHandler(stream)
  error_handler.setLevel(logging.WARNING)
  formatter = logging.Formatter("%(levelname)s: %(message)s")
  error_handler.setFormatter(formatter)
 
  # Create a logging.Filter instance that only accepts messages
  # below WARNING (i.e. filters out anything WARNING or above).
  non_error_filter = logging.Filter()
  # The filter method accepts a logging.LogRecord instance.
  non_error_filter.filter = lambda record: record.levelno < logging.WARNING
 
  non_error_handler = logging.StreamHandler(stream)
  non_error_handler.addFilter(non_error_filter)
  formatter = logging.Formatter("%(message)s")
  non_error_handler.setFormatter(formatter)
 
  return [error_handler, non_error_handler]

例子三

def _default_handlers(stream):
  """Return a list of the default logging handlers to use.
  Args:
   stream: See the configure_logging() docstring.
  """
  # Create the filter.
  def should_log(record):
    """Return whether a logging.LogRecord should be logged."""
    # FIXME: Enable the logging of autoinstall messages once
    #    autoinstall is adjusted. Currently, autoinstall logs
    #    INFO messages when importing already-downloaded packages,
    #    which is too verbose.
    if record.name.startswith("webkitpy.thirdparty.autoinstall"):
      return False
    return True
 
  logging_filter = logging.Filter()
  logging_filter.filter = should_log
 
  # Create the handler.
  handler = logging.StreamHandler(stream)
  formatter = logging.Formatter("%(name)s: [%(levelname)s] %(message)s")
  handler.setFormatter(formatter)
  handler.addFilter(logging_filter)
 
  return [handler]

以上这篇python logging添加filter教程就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中print的不换行即时输出的快速解决方法
Jul 20 Python
python实现FTP服务器服务的方法
Apr 11 Python
关于python的list相关知识(推荐)
Aug 30 Python
Python不使用int()函数把字符串转换为数字的方法
Jul 09 Python
python 对给定可迭代集合统计出现频率,并排序的方法
Oct 18 Python
对python 匹配字符串开头和结尾的方法详解
Oct 27 Python
详解Python的循环结构知识点
May 20 Python
python编写计算器功能
Oct 25 Python
Python如何将图像音视频等资源文件隐藏在代码中(小技巧)
Feb 16 Python
Python selenium如何打包静态网页并下载
Aug 12 Python
理解Django 中Call Stack机制的小Demo
Sep 01 Python
Python&Matlab实现樱花的绘制
Apr 07 Python
python打印异常信息的两种实现方式
Dec 24 #Python
numpy实现神经网络反向传播算法的步骤
Dec 24 #Python
python异常处理和日志处理方式
Dec 24 #Python
Python 音频生成器的实现示例
Dec 24 #Python
Python concurrent.futures模块使用实例
Dec 24 #Python
Python hmac模块使用实例解析
Dec 24 #Python
Python hashlib模块实例使用详解
Dec 24 #Python
You might like
php smarty 二级分类代码和模版循环例子
2011/06/01 PHP
MySQL 日期时间函数常用总结
2012/06/12 PHP
Smarty局部缓存的几种方法简介
2014/06/17 PHP
Windows下PHP开发环境搭建教程(Apache+PHP+MySQL)
2016/06/13 PHP
PHP基于phpqrcode类生成二维码的方法详解
2018/03/14 PHP
javascript AutoScroller 函数类
2009/05/29 Javascript
javascript各浏览器中option元素的表现差异
2011/04/07 Javascript
jQuery筛选器children()案例详解(图文)
2013/02/17 Javascript
window.location.reload()方法刷新页面弹出要再次显示该网页对话框
2013/04/24 Javascript
javascript:;与javascript:void(0)使用介绍
2013/06/05 Javascript
js实现人才网站职位选择功能的方法
2015/08/14 Javascript
jquery ajax 如何向jsp提交表单数据
2015/08/23 Javascript
浅谈javascript中replace()方法
2015/11/10 Javascript
基于javascript实现页面加载loading效果
2020/09/15 Javascript
jquery实现下拉框多选方法介绍
2017/01/03 Javascript
深入理解JavaScript中的尾调用(Tail Call)
2017/02/07 Javascript
JS三目运算(三元运算)方法详解
2017/03/01 Javascript
JS通过调用微信API实现微信支付功能的方法示例
2017/06/29 Javascript
vue 运用mock数据的示例代码
2017/11/07 Javascript
学习JS中的DOM节点以及操作
2018/04/30 Javascript
Vue CLI3 如何支持less的方法示例
2018/08/29 Javascript
详解微信小程序-扫一扫 wx.scanCode() 扫码大变身
2019/04/30 Javascript
vue中使用props传值的方法
2019/05/08 Javascript
[48:48]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS Dream TIME
2014/05/21 DOTA
Python对字符串实现去重操作的方法示例
2017/08/11 Python
python 中if else 语句的作用及示例代码
2018/03/05 Python
10分钟教你用python动画演示深度优先算法搜寻逃出迷宫的路径
2019/08/12 Python
Tensorflow 实现释放内存
2020/02/03 Python
快速查找Python安装路径方法
2020/02/06 Python
PyQt5通过信号实现MVC的示例
2021/02/06 Python
PHP中如何创建和修改数组
2012/05/02 面试题
入党积极分子学习两会心得体会范文
2014/03/17 职场文书
员工安全承诺书
2014/05/22 职场文书
《中国梦我的梦》小学生演讲稿
2014/08/20 职场文书
同意转租证明
2015/06/24 职场文书
多表查询、事务、DCL
2021/04/05 MySQL