错误日志计数和错误日志消息作为记录器的列表

时间:2019-12-15 15:56:27

标签: python python-3.x logging error-logging python-logging

import logging

logging.basicConfig(level=logging.DEBUG)
logger = logging.getLogger(__name__)
logger.error("first error")

data = input("Enter a number: ")
try:
    a = data + 10
except:
    logger.error('except error')
logger.error('end of script')

获得多少次脚本中错误日志的最佳方法是什么?我有什么办法可以从记录器中获取所有错误日志消息的列表?

1 个答案:

答案 0 :(得分:0)

您可以使用自定义的logging.handler

class CustomStreamHandler(logging.StreamHandler):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.error_logs = []

    def emit(self, record):
        if record.levelno == logging.ERROR:
            self.error_logs.append(record)
        super().emit(record)

handler = CustomStreamHandler()
logger.addHandler(handler)
logger.error("first error")
print(handler.error_logs)