Example #1
0
    def test_compo_name(self):
        """
        Test
        """

        self.assertEqual(SolBase.get_compo_name(), "CompoNotSet")
        SolBase.set_compo_name("toto")
        self.assertEqual(SolBase.get_compo_name(), "toto")
        SolBase.set_compo_name("toto2")
        self.assertEqual(SolBase.get_compo_name(), "toto2")
Example #2
0
    def emit(self, record):
        """
        Emit a record.
        :param record: The record to log
        :type record: logging.LogRecord
        """

        # Write
        # noinspection PyBroadException
        try:
            # Format
            msg = self.format(record) + '\000'

            # Get component name
            cn = SolBase.get_compo_name()

            # We append the machine+component name at the beginning
            msg = u"{0} | {1} | {2}".format(SolBase.get_machine_name(), cn,
                                            msg)
            msg = msg.encode('utf-8')

            # Add priority + facility (int)
            priority = '<%d>' % self.encodePriority(
                self.facility, self.mapPriority(record.levelname))
            priority = priority.encode('utf-8')

            # Cn
            cn = cn.encode('utf-8')

            # noinspection PyAugmentAssignment
            msg = priority + cn + b": " + msg

            # Notify
            self.notify_log(msg)

            # Send to socket
            if self.unixsocket:
                try:
                    self.socket.send(msg)
                except socket.error:
                    # noinspection PyUnresolvedReferences
                    self._connect_unixsocket(self.address)
                    self.socket.send(msg)
            elif self.socktype == socket.SOCK_DGRAM:
                self.socket.sendto(msg, self.address)
            else:
                self.socket.sendall(msg)
        except GreenletExit:
            pass
        except (KeyboardInterrupt, SystemExit):
            raise
        except:
            self.handleError(record)