创建自定义松弛日志处理程序不起作用

2024-05-23 22:25:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我想创建一个自定义python日志Handler,通过slack发送消息

我发现这个package但是它不再被更新,所以我创建了一个非常简单的版本。但是它似乎不起作用,我添加了一个print调用以进行调试,并且emit没有被调用

import logging
# import slacker

class SlackerLogHandler(logging.Handler):
    def __init__(self, api_key, channel):
        super().__init__()
        self.channel = channel
        # self.slacker = slacker.Slacker(api_key)

    def emit(self, record):
        message = self.format(record)
        print('works')
        # self.slacker.chat.post_message(text=message, channel=self.channel)

slack_handler = SlackerLogHandler('token', 'channel')
slack_handler.setLevel(logging.INFO)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
slack_handler.setFormatter(formatter)

logger = logging.getLogger('my_app')
logger.addHandler(slack_handler)
logger.info('info_try')  # 'works' is not printed and no slack message is sent

我看到了这个answer,并试图从StreamHandler继承,但没有成功

我想我错过了一些非常基本的东西

编辑以删除松弛逻辑,以便于复制


Tags: importselfmessageinitloggingdefchannellogger