0

我正在编写一个简短的脚本,它会定期轮询一个网站,并在推特上发布轮询的结果。

我认为使用 python 的内置日志记录机制来做到这一点很聪明:

# Main Script
twitter_handler = TwitterHandler(config=args.get('twitter-config'))
logger.addHandler(twitter_handler)

logger.debug('Debug', extra={'tweet': True})

# Handler
class TwitterHandler(logging.Handler):
    def __init__(self, config=None):
        logging.Handler.__init__(self, **kwargs)
        # Do whatever setup is necessary

    def emit(self, record):
        if getattr(record, 'tweet', False):
            # tweet

我还想介绍更复杂的日志处理,比如在条件没有改变的情况下才经常发推文。

那时,我想我应该把它分成三种类型的处理程序来解耦它们:

  • TweetHandler: 实际发推文
  • ConditionalHandler:仅在满足某些条件时记录
  • PeriodicHandler: 只根据一些周期性规则记录

假设我将功能分解为这些不同的处理程序,我该如何组合它们?某种元类或类装饰器?

4

0 回答 0