I want to publish message to ActiveMQ when I do LOG.debug or LOG.info,
I have to add handler to logging.
If is there any other pythonic way to do this?
I want to publish message to ActiveMQ when I do LOG.debug or LOG.info,
I have to add handler to logging.
If is there any other pythonic way to do this?
我创建了新的句柄来处理这个
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))