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程序员鲜为人知但你应该知道的17个问题
Jun 04 Python
Python中使用多进程来实现并行处理的方法小结
Aug 09 Python
Python编程给numpy矩阵添加一列方法示例
Dec 04 Python
解决pandas使用read_csv()读取文件遇到的问题
Jun 15 Python
python如何创建TCP服务端和客户端
Aug 26 Python
python如何生成各种随机分布图
Aug 27 Python
Python反射和内置方法重写操作详解
Aug 27 Python
python解析含有重复key的json方法
Jan 22 Python
在Django admin中编辑ManyToManyField的实现方法
Aug 09 Python
使用tensorflow框架在Colab上跑通猫狗识别代码
Apr 26 Python
Python3+RIDE+RobotFramework自动化测试框架搭建过程详解
Sep 23 Python
Selenium浏览器自动化如何上传文件
Apr 06 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
多文件上传的例子
2006/10/09 PHP
PHP生成静态HTML页面最简单方法示例
2015/04/09 PHP
帝国cms目录结构分享
2015/07/06 PHP
JavaScript Accessor实现说明
2010/12/06 Javascript
js运动框架_包括图片的淡入淡出效果
2013/05/11 Javascript
jquery 按钮状态效果 正常、移上、按下
2013/08/12 Javascript
JavaScript前端开发之实现二进制读写操作
2015/11/04 Javascript
vue实现可增删查改的成绩单
2016/10/27 Javascript
jQuery Dialog 打开时自动聚焦的解决方法(两种方法)
2016/11/24 Javascript
JSON 数据详解及实例代码分析
2017/01/20 Javascript
对比分析Django的Q查询及AngularJS的Datatables分页插件
2017/02/07 Javascript
浅析JS中的 map, filter, some, every, forEach, for in, for of 用法总结
2017/03/29 Javascript
js实现延迟加载的几种方法
2017/04/24 Javascript
es6学习笔记之Async函数的使用示例
2017/05/11 Javascript
Django使用多数据库的方法
2017/09/06 Javascript
详解Vue 事件修饰符capture 的使用
2017/12/29 Javascript
微信小程序HTTP请求从0到1封装
2019/09/09 Javascript
详解小程序如何改变onLoad的执行时机
2019/11/01 Javascript
使用eslint和githooks统一前端风格的技巧
2020/07/29 Javascript
JavaScript大数相加相乘的实现方法实例
2020/10/18 Javascript
[01:00:10]完美世界DOTA2联赛PWL S2 FTD vs Inki 第二场 11.21
2020/11/24 DOTA
3个用于数据科学的顶级Python库
2018/09/29 Python
django session完成状态保持的方法
2018/11/27 Python
Python函数定义及传参方式详解(4种)
2019/03/18 Python
Python3如何对urllib和urllib2进行重构
2019/11/25 Python
详解Pycharm第三方库的安装及使用方法
2020/12/29 Python
Python Selenium异常处理的实例分析
2021/02/28 Python
html5 Canvas画图教程(9)—canvas中画出矩形和圆形
2013/01/09 HTML / CSS
伦敦剧院及景点门票:Encore Tickets
2018/07/01 全球购物
工业自动化专业毕业生推荐信
2013/11/18 职场文书
酒店人事专员岗位职责
2013/12/19 职场文书
生产厂厂长岗位职责
2013/12/25 职场文书
基层干部十八大感言
2014/01/19 职场文书
爱心活动计划书
2014/04/26 职场文书
学校评语大全
2014/05/06 职场文书
门店店长岗位职责
2015/04/14 职场文书