python

超轻量级php框架startmvc

python logging添加filter教程

更新时间:2020-08-15 23:36:01 作者:startmvc
例子一deffilter(self,record):"""Ourcustomrecordfilteringlogic.Built-infilteringlogic(vialogging.Filter)istoolimiting.

例子一


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 logging filter