我创建了一个自定义日志级别,如下所示:
class MyLoggerAdapter(logging.LoggerAdapter):
def __init__(self, logger, extra):
logging.LoggerAdapter.__init__(self, logger, extra)
self.logger = logger
logging.addLevelName(25, "NOTICE")
def notice(self, msg, *args, **kwargs):
self.logger.log(25, msg, *args, **kwargs)
我遇到的问题是我的记录器格式使用%(pathname)s
和%(lineno)d
,每当我调用logger.notice()
时,这些值都会引用通知方法定义中的行,而不是调用方法的位置。如何添加notice
日志级别,但是将消息的正确位置打印到日志中?