我想在LOG.debug
或LOG.info
时将消息发布到ActiveMQ,
我必须将处理程序添加到logging
。
如果还有其他pythonic方式吗?
答案 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))