0

I set up a python logger and I want to be able to add a filter I created to just the logging.ERROR level of the log.

I've tried this:

class MyFilter(object):
  def __init__(self, level):
    self.__level = level

  def filter(self, logRecord):
    return logRecord.levelno <= self.__level

logger = logging.getLogger()
handler = logging.StreamHandler()
formatter = logging.Formatter(
        '%(levelname)-8s %(msg)s')
handler.setFormatter(formatter)
logger.addHandler(handler)
logger.setLevel(logging.INFO)

logger.addFilter(MyFilter(logging.ERROR))

When I try this, I get an error: TypeError: object of type 'int' has no len()

How do you add filters to specific logging levels?

kdubs
  • 936
  • 3
  • 22
  • 45

0 Answers0