I am learning to use the logging module and I need to send all the logs to a string but differentiating between severity levels. So this is my example code:
import logging
class LogStream(logging.StreamHandler):
def __init__(self):
self.logs = ''
logging.StreamHandler.__init__(self)
def write(self, str):
self.logs += str
def flush(self):
pass
def __str__(self):
return self.logs
def __repr__(self):
return self.logs
# Initialize Logger logger object
log_error = LogStream()
log_error.setLevel(logging.ERROR)
log_debug = LogStream()
log_debug.setLevel(logging.DEBUG)
logger = logging.getLogger('logger')
logger.setLevel(logging.DEBUG)
logger.addHandler(log_error)
logger.addHandler(log_debug)
logger.debug('debugging something')
logger.error('debugging something')
print(log_error)
print(log_debug)
And i get a TypeError: 'NoneType' object is not callable. What i'm doing wrong?
I had follow this example: https://stackoverflow.com/a/46139323/7021536