Пример #1
0
 def _write(self, message):
     try:
         json_str = Message.to_json(message)
         self.sock.connect(self.socket_path)
         self._pack_and_send(json_str)
     except (socket.error, socket.timeout, TypeError):
         msg = Message.to_json(message)
         exc_type, exc_value, exc_tb = sys.exc_info()
         traceback.print_exception(
             exc_type, exc_value, exc_tb, file=sys.stderr)
         sys.stderr.write(
             "Unable to pass the message into socket.%s\n" % msg)
     finally:
         self.sock.close()
Пример #2
0
 def _write(self, message):
     try:
         json_str = Message.to_json(message)
         self.sock.connect(self.socket_path)
         self._pack_and_send(json_str)
     except (socket.error, socket.timeout, TypeError):
         msg = Message.to_json(message)
         exc_type, exc_value, exc_tb = sys.exc_info()
         traceback.print_exception(
             exc_type, exc_value, exc_tb, file=sys.stderr)
         sys.stderr.write(
             "Unable to pass the message into socket.%s\n" % msg)
     finally:
         self.sock.close()
Пример #3
0
 def push_operation(self):
     NS._int.wclient.write("/messages/jobs/%s" % self.message.job_id,
                           Message.to_json(self.message),
                           append=True)
     NS._int.client.refresh("/messages/jobs/%s" % self.message.job_id,
                            ttl=NS.config.data['message_retention_time'])
     log_message = ("%s:%s") % (self.message.job_id,
                                self.message.payload["message"])
     return log_message
Пример #4
0
 def push_operation(self):
     tendrl_ns.etcd_orm.client.write(
         self.message.request_id,
         Message.to_json(self.message),
         append=True)
     log_message = ("%s:%s") % (
         self.message.request_id,
         self.message.payload["message"])
     return log_message
Пример #5
0
 def push_operation(self):
     etcd_utils.write(
         "/messages/jobs/%s" % self.message.job_id,
         Message.to_json(self.message),
         append=True)
     etcd_utils.refresh(
         "/messages/jobs/%s" % self.message.job_id,
         ttl=NS.config.data['message_retention_time']
     )
     log_message = ("%s:%s") % (
         self.message.job_id,
         self.message.payload["message"])
     return log_message
Пример #6
0
 def _logger(self, log_message):
     # Invalid message
     if isinstance(log_message, Message):
         log_message = Message.to_json(log_message)
     message = "%s - %s - %s:%s - %s - %s - %s" % (
         self.message.timestamp, self.message.publisher,
         self.message.caller["filename"],
         self.message.caller["line_no"], self.message.caller["function"],
         self.message.priority.upper(), log_message)
     try:
         method = getattr(LOG,
                          Logger.logger_priorities[self.message.priority])
     except AttributeError:
         raise NotImplementedError(self.message.priority)
     method(message)
Пример #7
0
 def __init__(self, message, socket_path=None):
     if message.publisher == "node_agent":
         try:
             json_str = Message.to_json(message)
             message = Message.from_json(json_str)
             Logger(message)
         except (TypeError, ValueError, KeyError, AttributeError):
             sys.stderr.write(
                 "Unable to log the message.%s\n" % message)
             exc_type, exc_value, exc_tb = sys.exc_info()
             traceback.print_exception(
                 exc_type, exc_value, exc_tb, file=sys.stderr)
     else:
         self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
         self.socket_path = socket_path
         if self.socket_path is None:
             self.socket_path = NS.config.data['logging_socket_path']
         self._write(message)
Пример #8
0
 def _logger(self, log_message):
     # Invalid message
     if isinstance(log_message, Message):
         log_message = Message.to_json(log_message)
     message = "%s - %s - %s:%s - %s - %s - %s" % (
         self.message.timestamp,
         self.message.publisher,
         self.message.caller["filename"],
         self.message.caller["line_no"],
         self.message.caller["function"],
         self.message.priority.upper(),
         log_message
     )
     try:
         method = getattr(
             LOG, Logger.logger_priorities[self.message.priority])
     except AttributeError:
         raise NotImplementedError(self.message.priority)
     method(message)
Пример #9
0
 def __init__(self, message, socket_path=None):
     # node_agent log messages other than notice
     # priority are directly pushed into logger
     if message.publisher == "node_agent" and \
             message.priority != "notice":
         try:
             json_str = Message.to_json(message)
             message = Message.from_json(json_str)
             Logger(message)
         except (TypeError, ValueError, KeyError, AttributeError):
             sys.stderr.write(
                 "Unable to log the message.%s\n" % message)
             exc_type, exc_value, exc_tb = sys.exc_info()
             traceback.print_exception(
                 exc_type, exc_value, exc_tb, file=sys.stderr)
     else:
         self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
         self.socket_path = socket_path
         if self.socket_path is None:
             self.socket_path = NS.config.data['logging_socket_path']
         self._write(message)
Пример #10
0
def test_to_json():
    init()
    msg = Message("info", "node_context", payload={"message": "Test Message"})
    message = Message.to_json(msg)
    assert message.find("info")