ActiveMQ消息总线日志处理程序python

时间:2016-05-23 18:05:54

标签: python logging activemq message-bus

我想在LOG.debugLOG.info时将消息发布到ActiveMQ,

我必须将处理程序添加到logging

如果还有其他pythonic方式吗?

1 个答案:

答案 0 :(得分:1)

我创建了新的句柄来处理这个

import json
import logging

from stompest.config import StompConfig
from stompest.sync import Stomp

class Handler(logging.Handler):
    def __init__(self, amq_uri, out_queue):
        logging.Handler.__init__(self)
        self.queue = queue
        self.uri = uri

    def emit(self, record):
        msg = self.format(record)
        cfg = StompConfig(self.uri)
        data = json.dumps(msg)
        client = Stomp(cfg)
        client.connect()

        try:
            client.send(self.queue, data)
        except Exception, exc:
            print "Error: ", exc
        client.disconnect()

def get_logger(uri, queue):
    logger = logging.getLogger('testlogger')
    logger.addHandler(Handler(uri, queue))