Python 创建自定义松弛日志处理程序不需要';行不通
我想创建一个自定义python日志Python 创建自定义松弛日志处理程序不需要';行不通,python,logging,event-handling,slack,Python,Logging,Event Handling,Slack,我想创建一个自定义python日志处理程序,通过slack发送消息 我发现它不再被更新,所以我创建了一个非常简单的版本。但是它似乎不起作用,我添加了一个print调用以进行调试,而emit没有被调用 import logging # import slacker class SlackerLogHandler(logging.Handler): def __init__(self, api_key, channel): super().__init__()
处理程序
,通过slack发送消息
我发现它不再被更新,所以我创建了一个非常简单的版本。但是它似乎不起作用,我添加了一个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
我看到了这一点,并尝试从
StreamHandler
继承,但没有成功
我想我错过了一些非常基本的东西
编辑以删除松弛逻辑以便于复制。经过一些额外的搜索后,我发现为处理程序设置的日志记录级别与为记录器设置的日志记录级别是分开的 意思是,添加:
logger.setLevel(logging.INFO)
解决了这个问题