예제 #1
0
    def emit(self, eventDict):
        text = textFromEventDict(eventDict)
        if text is None:
            return

        timeStr = self._colorize(self.formatTime(eventDict['time']),
                                 ColoredFileLogObserver.GREY_NORMAL)
        fmtDict = {
            'system': eventDict['system'],
            'text': text.replace("\n", "\n\t")
        }
        systemStr = ""
        systemStr = self._colorize(_safeFormat("[%(system)s]", fmtDict),
                                   ColoredFileLogObserver.GREY_NORMAL)
        textStr = _safeFormat("%(text)s", fmtDict)

        if textStr.startswith("SSH"):
            t = textStr.find("STDERR:")
            if t != -1:
                textStr = self._colorize(textStr[t + 8:],
                                         ColoredFileLogObserver.RED_BOLD)
            else:
                textStr = self._colorize(textStr[textStr.find("STDOUT:") + 8:],
                                         ColoredFileLogObserver.GREEN_BOLD)
            # only text for incoming data
            msgStr = textStr + "\n"
        else:
            # add system to the local logs
            # TODO: Make system more useful, not just "SSHChannel...".
            msgStr = systemStr + " " + textStr + "\n"

        util.untilConcludes(self.write, timeStr + " " + msgStr)
        util.untilConcludes(self.flush)  # Hoorj!
예제 #2
0
    def emit(self, eventDict):
        text = textFromEventDict(eventDict)
        if text is None:
            return

        timeStr = self._colorize(self.formatTime(eventDict["time"]), ColoredFileLogObserver.GREY_NORMAL)
        fmtDict = {"system": eventDict["system"], "text": text.replace("\n", "\n\t")}
        systemStr = ""
        systemStr = self._colorize(_safeFormat("[%(system)s]", fmtDict), ColoredFileLogObserver.GREY_NORMAL)
        textStr = _safeFormat("%(text)s", fmtDict)

        if textStr.startswith("SSH"):
            t = textStr.find("STDERR:")
            if t != -1:
                textStr = self._colorize(textStr[t + 8 :], ColoredFileLogObserver.RED_BOLD)
            else:
                textStr = self._colorize(textStr[textStr.find("STDOUT:") + 8 :], ColoredFileLogObserver.GREEN_BOLD)
            # only text for incoming data
            msgStr = textStr + "\n"
        else:
            # add system to the local logs
            # TODO: Make system more useful, not just "SSHChannel...".
            msgStr = systemStr + " " + textStr + "\n"

        util.untilConcludes(self.write, timeStr + " " + msgStr)
        util.untilConcludes(self.flush)  # Hoorj!
예제 #3
0
def koj_watcher(eventDict):
  """Custom emit for FileLogObserver"""
  text = log.textFromEventDict(eventDict)
  if text is None:
    return
  fmtDict = {'text': text.replace("\n", "\n\t")}
  msgStr = log._safeFormat("%(text)s\n", fmtDict)
예제 #4
0
    def emit(self, eventDict):
        """Changing the default log format.

        Base method that writes cis log. Here we can access the log
        message and manipulate it as we need. For example, define
        the log format and filter out password from the message.
        This can be configured per service in cisconf with LOG_FORMATTERS
        tuple of pairs (pattern, replacement).

        TODO: This is a hack, twisted should have a better way of modifying
        its log format"""
        text = log.textFromEventDict(eventDict)
        if text is None:
            return

        if isinstance(self.log_formatters, (list, tuple)):
            for pattern, replacement in self.log_formatters:
                text = re.sub(pattern, replacement, text)

        timeStr = self.formatTime(eventDict['time'])
        fmtDict = {
            'system': eventDict['system'],
            'text': text.replace("\n", "\n\t")
        }
        msgStr = log._safeFormat("[%(system)s] %(text)s\n", fmtDict)

        util.untilConcludes(self.write,
                            '%s %s %s' % (timeStr, self.log_prefix, msgStr))
        util.untilConcludes(self.flush)  # Hoorj!
예제 #5
0
    def emit(self, eventDict):
        """
        Handles formatting system log messages along with incrementing the objs
        error counters. The eventDict is generated by the arguments passed to each
        log level call. See the unittests for an example.
        """
        if 'failure' in eventDict:
            vf = eventDict['failure']
            e_t, e_v, e_tb = vf.type, vf.value, vf.getTracebackObject()
            sys.excepthook(e_t, e_v, e_tb)

        text = twlog.textFromEventDict(eventDict)
        if text is None:
            return

        timeStr = self.formatTime(eventDict['time'])
        fmtDict = {'system': eventDict['system'], 'text': text.replace("\n", "\n\t")}
        msgStr = twlog._safeFormat("[%(system)s] %(text)s\n", fmtDict)

        if GLLogObserver.suppressed == GLLogObserver.limit_suppressed:
            GLLogObserver.suppressed = 0
            GLLogObserver.limit_suppressed += 5
            GLLogObserver.last_exception_msg = ""

        try:
            # in addition to escape sequence removal on logfiles we also quote html chars
            util.untilConcludes(self.write, timeStr + " " + log_encode_html(msgStr))
            util.untilConcludes(self.flush) # Hoorj!
        except Exception as excep:
            GLLogObserver.suppressed += 1
            GLLogObserver.last_exception_msg = str(excep)
예제 #6
0
    def emit(self, eventDict):
        """
        Extended base class' 'emit' method by log level support.
        """
        if eventDict['isError']:
            level = logging.ERROR
        elif 'level' in eventDict:
            level = eventDict['level']
        else:
            level = logging.INFO
        if level < self.log_level:
            return

        text = tx_log.textFromEventDict(eventDict)
        if text is None:
            return

        time_str = self.formatTime(eventDict['time'])
        fmt_dict = {
            'level': logging.getLevelName(level),
            'system': eventDict['system'],
            'text': text.replace("\n", "\n\t")
        }
        msg_str = tx_log._safeFormat("%(level)s:[%(system)s]:%(text)s\n",
                                     fmt_dict)

        tx_util.untilConcludes(self.write, time_str + " " + msg_str)
        tx_util.untilConcludes(self.flush)
예제 #7
0
    def emit(self, eventDict):
        """Changing the default log format.

        Base method that writes cis log. Here we can access the log
        message and manipulate it as we need. For example, define
        the log format and filter out password from the message.
        This can be configured per service in cisconf with LOG_FORMATTERS
        tuple of pairs (pattern, replacement).

        TODO: This is a hack, twisted should have a better way of modifying
        its log format"""
        text = log.textFromEventDict(eventDict)
        if text is None:
            return

        if isinstance(self.log_formatters, (list,tuple)):
            for pattern, replacement in self.log_formatters:
                text = re.sub(pattern, replacement, text)

        timeStr = self.formatTime(eventDict['time'])
        fmtDict = {'system': eventDict['system'], 'text': text.replace("\n", "\n\t")}
        msgStr = log._safeFormat("[%(system)s] %(text)s\n", fmtDict)

        util.untilConcludes(self.write, '%s %s %s' % (timeStr, self.log_prefix, msgStr))
        util.untilConcludes(self.flush)  # Hoorj!
예제 #8
0
    def emit(self, eventDict):
        if eventDict["isError"]:
            level = logging.ERROR
        elif "level" in eventDict:
            level = eventDict["level"]
        else:
            level = logging.INFO
        if level < self.logLevel:
            return

        message = log.textFromEventDict(eventDict)
        if not message:
            return

        logElements = {
            "timestamp": self.formatTime(eventDict["time"]),
            "level": logging.getLevelName(level),
            "system": eventDict["system"],
            "text": message.replace("\n", "\n\t")
        }
        messageString = "{} {}".format(logElements["timestamp"],
                                       log._safeFormat("%(level)7s:[%(system)s]: %(text)s\n", logElements))
        print messageString.replace("\n", "")
        util.untilConcludes(self.write, messageString)
        util.untilConcludes(self.flush)
예제 #9
0
파일: utility.py 프로젝트: Taipo/GlobaLeaks
    def emit(self, eventDict):
        if 'failure' in eventDict:
            vf = eventDict['failure']
            e_t, e_v, e_tb = vf.type, vf.value, vf.getTracebackObject()
            sys.excepthook(e_t, e_v, e_tb)

        text = twlog.textFromEventDict(eventDict)
        if text is None:
            return

        timeStr = self.formatTime(eventDict['time'])
        fmtDict = {'system': eventDict['system'], 'text': text.replace("\n", "\n\t")}
        msgStr = twlog._safeFormat("[%(system)s] %(text)s\n", fmtDict)

        if GLLogObserver.suppressed == GLLogObserver.limit_suppressed:
            GLLogObserver.suppressed = 0
            GLLogObserver.limit_suppressed += 5
            GLLogObserver.last_exception_msg = ""

        try:
            # in addition to escape sequence removal on logfiles we also quote html chars
            util.untilConcludes(self.write, timeStr + " " + log_encode_html(msgStr))
            util.untilConcludes(self.flush) # Hoorj!
        except Exception as excep:
            GLLogObserver.suppressed += 1
            GLLogObserver.last_exception_msg = str(excep)
예제 #10
0
    def emit(self, eventDict):
        """
        Handles formatting system log messages along with incrementing the objs
        error counters. The eventDict is generated by the arguments passed to each
        log level call. See the unittests for an example.
        """
        if 'failure' in eventDict:
            vf = eventDict['failure']
            e_t, e_v, e_tb = vf.type, vf.value, vf.getTracebackObject()
            sys.excepthook(e_t, e_v, e_tb)

        text = twlog.textFromEventDict(eventDict)
        if text is None:
            return

        timeStr = self.formatTime(eventDict['time'])
        fmtDict = {
            'system': eventDict['system'],
            'text': text.replace("\n", "\n\t")
        }
        msgStr = twlog._safeFormat("[%(system)s] %(text)s\n", fmtDict)

        util.untilConcludes(self.write,
                            timeStr + " " + log_encode_html(msgStr))
        util.untilConcludes(self.flush)
예제 #11
0
    def emit(self, eventDict):
        if 'failure' in eventDict:
            vf = eventDict['failure']
            e_t, e_v, e_tb = vf.type, vf.value, vf.getTracebackObject()
            sys.excepthook(e_t, e_v, e_tb)

        text = twlog.textFromEventDict(eventDict)
        if text is None:
            return

        timeStr = self.formatTime(eventDict['time'])
        fmtDict = {'system': eventDict['system'], 'text': text.replace("\n", "\n\t")}
        msgStr = twlog._safeFormat("[%(system)s] %(text)s\n", fmtDict)

        if GLLogObserver.suppressed == GLLogObserver.limit_suppressed:
            # This code path flush the status of the broken log, in the case a flood is happen
            # for few moment or in the case something goes wrong when logging below.
            log.info("!! has been suppressed %d log lines due to error flood (last error %s)" %
                     (GLLogObserver.limit_suppressed, GLLogObserver.last_exception_msg) )

            GLLogObserver.suppressed = 0
            GLLogObserver.limit_suppressed += 5
            GLLogObserver.last_exception_msg = ""

        try:
            # in addition to escape sequence removal on logfiles we also quote html chars
            util.untilConcludes(self.write, timeStr + " " + log_encode_html(msgStr))
            util.untilConcludes(self.flush) # Hoorj!
        except Exception as excep:
            GLLogObserver.suppressed += 1
            GLLogObserver.last_exception_msg = str(excep)
예제 #12
0
    def emit(self, eventDict):

        if 'failure' in eventDict:
            vf = eventDict['failure']
            e_t, e_v, e_tb = vf.type, vf.value, vf.getTracebackObject()
            sys.excepthook(e_t, e_v, e_tb)

        text = twlog.textFromEventDict(eventDict)
        if text is None:
            return

        timeStr = self.formatTime(eventDict['time'])
        fmtDict = {'system': eventDict['system'], 'text': text.replace("\n", "\n\t")}
        msgStr = twlog._safeFormat("[%(system)s] %(text)s\n", fmtDict)

        if GLLogObserver.suppressed == GLLogObserver.limit_suppressed:
            # This code path flush the status of the broken log, in the case a flood is happen
            # for few moment or in the case something goes wrong when logging below.
            log.info("!! has been suppressed %d log lines due to error flood (last error %s)" %
                     (GLLogObserver.limit_suppressed, GLLogObserver.last_exception_msg) )

            GLLogObserver.suppressed = 0
            GLLogObserver.limit_suppressed += 5
            GLLogObserver.last_exception_msg = ""

        try:
            # in addition to escape sequence removal on logfiles we also quote html chars
            util.untilConcludes(self.write, timeStr + " " + log_encode_html(msgStr))
            util.untilConcludes(self.flush) # Hoorj!
        except Exception as excep:
            GLLogObserver.suppressed += 1
            GLLogObserver.last_exception_msg = str(excep)
예제 #13
0
    def emit(self, eventDict):
        if 'failure' in eventDict:
            vf = eventDict['failure']
            e_t, e_v, e_tb = vf.type, vf.value, vf.getTracebackObject()
            sys.excepthook(e_t, e_v, e_tb)

        text = twlog.textFromEventDict(eventDict)
        if text is None:
            return

        timeStr = self.formatTime(eventDict['time'])
        fmtDict = {'system': eventDict['system'], 'text': text.replace("\n", "\n\t")}
        msgStr = twlog._safeFormat("[%(system)s] %(text)s\n", fmtDict)

        if GLLogObserver.suppressed == GLLogObserver.limit_suppressed:
            GLLogObserver.suppressed = 0
            GLLogObserver.limit_suppressed += 5
            GLLogObserver.last_exception_msg = ""

        try:
            # in addition to escape sequence removal on logfiles we also quote html chars
            util.untilConcludes(self.write, timeStr + " " + log_encode_html(msgStr))
            util.untilConcludes(self.flush) # Hoorj!
        except Exception as excep:
            GLLogObserver.suppressed += 1
            GLLogObserver.last_exception_msg = str(excep)
예제 #14
0
def koj_watcher(eventDict):
    """Custom emit for FileLogObserver"""
    text = log.textFromEventDict(eventDict)
    if text is None:
        return
    fmtDict = {'text': text.replace("\n", "\n\t")}
    msgStr = log._safeFormat("%(text)s\n", fmtDict)
예제 #15
0
    def emit(self, eventDict):
        """
        Extends method of the base class by providing support for log level.
        """
        if eventDict['isError']:
            level = logging.ERROR
        elif 'level' in eventDict:
            level = eventDict['level']
        else:
            level = logging.INFO
        if level < self.log_level:
            return

        text = log.textFromEventDict(eventDict)
        if text is None:
            return

        time_str = self.formatTime(eventDict['time'])
        fmt_dict = {
            'level': logging.getLevelName(level),
            'system': eventDict['system'],
            'text': text.replace("\n", "\n\t")
        }
        msg_str = log._safeFormat(
            "%(level)8s:[%(system)s]: %(text)s\n", fmt_dict)

        util.untilConcludes(self.write, "{0} {1}".format(time_str, msg_str))
        util.untilConcludes(self.flush)
예제 #16
0
	def quietEmit(self, eventDict):
		text = log.textFromEventDict(eventDict)
		if text is None:
			return
		formatDict = {
			"text": text.replace("\n", "\n\t")
		}
		msg = log._safeFormat("%(text)s\n", formatDict)
		util.untilConcludes(self.write, msg)
		util.untilConcludes(self.flush)
예제 #17
0
    def __call__(self, event):
        msg = event['message']
        if not msg:
            if event['isError'] and event.has_key('failure'):
                msg = ((event.get('why') or 'Unhandled Error') + '\n' +
                       event['failure'].getTraceback())
            elif event.has_key('format'):
                if hasattr(self, '_safeFormat'):
                    msg = self._safeFormat(event['format'], event)
                else:
                    msg = log._safeFormat(event['format'], event)
            else:
                return
        else:
            msg = ' '.join(map(reflect.safe_str, msg))
        try:
            module = event['system']
            # Initialize the vlog modules on-demand, since systems are
            # not initialized explicitly in the Twisted logging API.
            if not self.modules.has_key(module):
                if module == '-':
                    module = 'reactor'
                    self.modules['-'] = self.v.mod_init(module)
                    self.modules[module] = self.modules['-']
                else:
                    self.modules[module] = self.v.mod_init(module)

            # vlog module identifier
            module = self.modules[module]

            fmt = {'system': module, 'msg': msg.replace("\n", "\n\t")}
            if hasattr(self, '_safeFormat'):
                msg = self._safeFormat("%(msg)s", fmt)
            else:
                msg = log._safeFormat("%(msg)s", fmt)
            if event["isError"]:
                self.v.err(module, msg)
            else:
                self.v.msg(module, msg)
        except Exception, e:
            # Can't pass an exception, since then the observer would
            # be disabled automatically.
            pass
예제 #18
0
파일: util.py 프로젝트: wikimedia/PyBal
    def emit(self, eventDict):
        text = tw_log.textFromEventDict(eventDict)
        if text is None:
            return

        fmtDict = {'system': eventDict['system'],
                   'text': text.replace("\n", "\n\t")}
        msgStr = tw_log._safeFormat("[%(system)s] %(text)s\n", fmtDict)
        util.untilConcludes(self.write, msgStr)
        util.untilConcludes(self.flush)
예제 #19
0
    def __call__(self, event):
        msg = event['message']
        if not msg:
            if event['isError'] and event.has_key('failure'):
                msg = ((event.get('why') or 'Unhandled Error')
                       + '\n' + event['failure'].getTraceback())
            elif event.has_key('format'):
                if hasattr(self, '_safeFormat'):
                    msg = self._safeFormat(event['format'], event)
                else:
                    msg = log._safeFormat(event['format'], event)
            else:
                return
        else:
            msg = ' '.join(map(reflect.safe_str, msg))
        try:
            module = event['system']
            # Initialize the vlog modules on-demand, since systems are
            # not initialized explicitly in the Twisted logging API.
            if not self.modules.has_key(module):
                if module == '-':
                    module = 'reactor'
                    self.modules['-'] = self.v.mod_init(module)
                    self.modules[module] = self.modules['-']
                else:
                    self.modules[module] = self.v.mod_init(module)

            # vlog module identifier
            module = self.modules[module]

            fmt = {'system': module, 'msg': msg.replace("\n", "\n\t")}
            if hasattr(self, '_safeFormat'):
                msg = self._safeFormat("%(msg)s", fmt)
            else:
                msg = log._safeFormat("%(msg)s", fmt)
            if event["isError"]:
                self.v.err(module, msg)
            else:
                self.v.msg(module, msg)
        except Exception, e:
            # Can't pass an exception, since then the observer would
            # be disabled automatically.
            pass
예제 #20
0
    def emit(self, eventDict):
        text = tw_log.textFromEventDict(eventDict)
        if text is None:
            return

        fmtDict = {'system': eventDict['system'],
                   'text': text.replace("\n", "\n\t")}
        msgStr = tw_log._safeFormat("[%(system)s] %(text)s\n", fmtDict)
        util.untilConcludes(self.write, msgStr)
        util.untilConcludes(self.flush)
예제 #21
0
    def emit(self, eventDict):
        text = log.textFromEventDict(eventDict)
        if text is None:
            text = '<no text>'

        timeStr = self.formatTime(eventDict['time'])
        fmtDict = {'time': timeStr, 'text': text}
        output = log._safeFormat('%(time)s %(text)s\n', fmtDict)
        util.untilConcludes(self.write, output)
        util.untilConcludes(self.flush)
예제 #22
0
    def __call__(self, event):
        msg = event["message"]
        if not msg:
            if event["isError"] and event.has_key("failure"):
                msg = (event.get("why") or "Unhandled Error") + "\n" + event["failure"].getTraceback()
            elif event.has_key("format"):
                if hasattr(self, "_safeFormat"):
                    msg = self._safeFormat(event["format"], event)
                else:
                    msg = log._safeFormat(event["format"], event)
            else:
                return
        else:
            msg = " ".join(map(reflect.safe_str, msg))
        try:
            module = event["system"]
            # Initialize the vlog modules on-demand, since systems are
            # not initialized explicitly in the Twisted logging API.
            if not self.modules.has_key(module):
                if module == "-":
                    module = "reactor"
                    self.modules["-"] = self.v.mod_init(module)
                    self.modules[module] = self.modules["-"]
                else:
                    self.modules[module] = self.v.mod_init(module)

            # vlog module identifier
            module = self.modules[module]

            fmt = {"system": module, "msg": msg.replace("\n", "\n\t")}
            if hasattr(self, "_safeFormat"):
                msg = self._safeFormat("%(msg)s", fmt)
            else:
                msg = log._safeFormat("%(msg)s", fmt)
            if event["isError"]:
                self.v.err(module, msg)
            else:
                self.v.msg(module, msg)
        except Exception, e:
            # Can't pass an exception, since then the observer would
            # be disabled automatically.
            pass
예제 #23
0
 def custom_emit(self, event_dict):
     """Custom emit for FileLogObserver"""
     text = log.textFromEventDict(event_dict)
     if text is None:
         return
     self.timeFormat = '[%Y-%m-%d %H:%M:%S %f]'
     time_str = self.formatTime(event_dict['time'])
     fmt_dict = {'text': text.replace("\n", "\n\t")}
     msg_str = log._safeFormat("%(text)s\n", fmt_dict)
     util.untilConcludes(self.write, time_str + " " + msg_str)
     util.untilConcludes(self.flush)
예제 #24
0
def myFLOemit(self,eventDict):
    """Custom emit for FileLogObserver"""
    text = log.textFromEventDict(eventDict)
    if text is None:
        return
    self.timeFormat='[%Y-%m-%d %H:%M:%S]'
    timeStr = self.formatTime(eventDict['time'])
    fmtDict = {'text': text.replace("\n", "\n\t")}
    msgStr = log._safeFormat("%(text)s\n", fmtDict)
    util.untilConcludes(self.write, timeStr + " " + msgStr)
    util.untilConcludes(self.flush)
예제 #25
0
    def emit(self, eventDict):
        text = textFromEventDict(eventDict)
        if text is None:
            return

        timeStr = self.formatTime(eventDict['time'])
        fmtDict = {'system': eventDict['system'], 'text': text.replace("\n", "\n\t")}
        msgStr = log._safeFormat("[%(system)s] %(text)s\n", fmtDict)

        #util.untilConcludes(self.write, timeStr + " " + msgStr)
        #util.untilConcludes(self.flush)  # Hoorj!
        
        #util.untilConcludes(sys.__stdout__.write, msgStr)
        print(msgStr)
예제 #26
0
    def emit(self, event):
        text = log.textFromEventDict(event)

        if text is None:
            return

        self.timeFormat = '[%Y-%m-%d %H:%M:%S]'
        time_str = self.formatTime(event['time'])

        fmt_dict = {'text': text.replace('\n', '\n\t')}
        msg_str = log._safeFormat('%(text)s\n', fmt_dict)

        logging.debug(str(event))

        util.untilConcludes(self.write, time_str + ' ' + socket.gethostname() + ' ' + msg_str)
        util.untilConcludes(self.flush)
예제 #27
0
파일: logbot.py 프로젝트: owcici/TwistedBot
 def emit(self, eventDict):
     if "isError" in eventDict and \
             eventDict["isError"] and \
             "header" not in eventDict:
         eventDict["header"] = "-"
     if "header" not in eventDict:
         return
     text = log.textFromEventDict(eventDict)
     if text is None:
         return
     timeStr = self.formatTime(eventDict['time'])
     fmtDict = {'header': eventDict['header'], 'text':
                text.replace("\n", "\n\t")}
     msgStr = log._safeFormat("[%(header)s] %(text)s\n", fmtDict)
     util.untilConcludes(self.write, timeStr + " " + msgStr)
     util.untilConcludes(self.flush)
예제 #28
0
def myFLOemit(self, eventDict):
    """Custom emit for FileLogObserver"""
    max_text = 256
    text = log.textFromEventDict(eventDict)

    if text is None:
        return
    if len(text) > max_text:
        text = text[:max_text]

    self.timeFormat = '[%Y-%m-%d %H:%M:%S]'
    timeStr = self.formatTime(eventDict['time'])
    fmtDict = {'text': text.replace("\n", "\n\t")}
    msgStr = log._safeFormat("%(text)s\n", fmtDict)
    util.untilConcludes(self.write, timeStr + " " + msgStr)
    util.untilConcludes(self.flush)
예제 #29
0
    def emit(self, event):
        text = log.textFromEventDict(event)

        if text is None:
            return

        self.timeFormat = '[%Y-%m-%d %H:%M:%S]'
        time_str = self.formatTime(event['time'])

        fmt_dict = {'text': text.replace('\n', '\n\t')}
        msg_str = log._safeFormat('%(text)s\n', fmt_dict)

        logging.debug(str(event))

        util.untilConcludes(
            self.write, time_str + ' ' + socket.gethostname() + ' ' + msg_str)
        util.untilConcludes(self.flush)
예제 #30
0
파일: util.py 프로젝트: Mrkebubun/sputnik
    def emit(self, eventDict):
        text = log.textFromEventDict(eventDict)
        if text is None:
            return
        
        level = eventDict.get("level", 20)
        if level < self.level:
            return

        timeStr = self.formatTime(eventDict['time'])
        fmtDict = {'system': eventDict['system'],
                   'text': text.replace("\n", "\n\t"),
                   'level': self.levels[level]}
        msgStr = log._safeFormat("%(level)s [%(system)s] %(text)s\n", fmtDict)

        twisted.python.util.untilConcludes(self.write, timeStr + " " + msgStr)
        twisted.python.util.untilConcludes(self.flush)
예제 #31
0
    def emit(self, eventDict):
        """
        Copied from Twisted parent, to change logging output

        """
        text = log.textFromEventDict(eventDict)
        if text is None:
            return

        # timeStr = self.formatTime(eventDict["time"])
        timeStr = timeformat(eventDict["time"])
        fmtDict = {"text": text.replace("\n", "\n\t")}

        msgStr = log._safeFormat("%(text)s\n", fmtDict)

        twisted_util.untilConcludes(self.write,
                                    timeStr + "%s" % self.prefix + msgStr)
        twisted_util.untilConcludes(self.flush)
예제 #32
0
파일: logger.py 프로젝트: Henddher/evennia
    def emit(self, eventDict):
        """
        Copied from Twisted parent, to change logging output

        """
        text = log.textFromEventDict(eventDict)
        if text is None:
            return

        # timeStr = self.formatTime(eventDict["time"])
        timeStr = timeformat(eventDict["time"])
        fmtDict = {
            "text": text.replace("\n", "\n\t")}

        msgStr = log._safeFormat("%(text)s\n", fmtDict)

        twisted_util.untilConcludes(self.write, timeStr + "%s" % self.prefix + msgStr)
        twisted_util.untilConcludes(self.flush)
예제 #33
0
파일: log.py 프로젝트: SMAC/corelib
 def emit(self, eventDict):
     if not self.send_printed and eventDict.get('printed', False):
         return
     
     if self.client._transport.channel.closed:
         self.stop()
         return
     
     text = textFromEventDict(eventDict)
     
     if text is None:
         return
     
     timeStr = self.formatTime(eventDict['time'])
     fmtDict = {'system': eventDict['system'], 'text': text.replace("\n", "\n\t")}
     msgStr = _safeFormat("[%(system)s] %(text)s\n", fmtDict)
     
     self.client.receive_log_entry(self.module_address, timeStr + " " + msgStr)
예제 #34
0
파일: util.py 프로젝트: treverson/sputnik
    def emit(self, eventDict):
        text = log.textFromEventDict(eventDict)
        if text is None:
            return

        level = eventDict.get("level", 20)
        if level < self.level:
            return

        timeStr = self.formatTime(eventDict['time'])
        fmtDict = {
            'system': eventDict['system'],
            'text': text.replace("\n", "\n\t"),
            'level': self.levels[level]
        }
        msgStr = log._safeFormat("%(level)s [%(system)s] %(text)s\n", fmtDict)

        twisted.python.util.untilConcludes(self.write, timeStr + " " + msgStr)
        twisted.python.util.untilConcludes(self.flush)
예제 #35
0
파일: logformat.py 프로젝트: iapyeh/objsh
def productive_logformat(self, eventDict):
    text = log.textFromEventDict(eventDict)
    if text is None: return
    code = level_code[eventDict['log_level'].name]
    timeStr = str(eventDict['time'] + tzoffset)  # use UTC timestamp

    # append 0 for value likes "1526537871.8" (disabled to reduce overhead)
    # timeStr += '0' if len(timeStr)==12 else ''

    # python2 len is 13, python3 len is 17
    #assert len(timeStr)==13,'expect len(timeStr)==13, got %s(%s)' % (len(timeStr), timeStr)

    fmtDict = {
        'text': text.replace('\n', '\\n'),  # flat into one line only
        'code': code,
    }

    msgStr = log._safeFormat(":%(code)s:%(text)s\n", fmtDict)
    util.untilConcludes(self.write, timeStr[:13] + msgStr)
    util.untilConcludes(self.flush)
예제 #36
0
파일: log.py 프로젝트: chojar/GlobaLeaks
    def emit(self, eventDict):
        """
        Handles formatting system log messages along with incrementing the objs
        error counters. The eventDict is generated by the arguments passed to each
        log level call. See the unittests for an example.
        """
        if 'failure' in eventDict:
            vf = eventDict['failure']
            e_t, e_v, e_tb = vf.type, vf.value, vf.getTracebackObject()
            sys.excepthook(e_t, e_v, e_tb)

        text = txlog.textFromEventDict(eventDict)
        if text is None:
            return

        timeStr = self.formatTime(eventDict['time'])
        fmtDict = {'system': eventDict['system'], 'text': text.replace("\n", "\n\t")}
        msgStr = txlog._safeFormat("[%(system)s] %(text)s\n", fmtDict)

        util.untilConcludes(self.write, timeStr + ' ' + msgStr)
        util.untilConcludes(self.flush)
예제 #37
0
    def log_dictionary(self, event_dict, level):
        """
        Format the given log event as text and write it to the output file.

        @param event_dict: a log event
        @type event_dict: L{dict} mapping L{str} (native string) to L{object}
        
        @param level: The event level to log.
        """
        text = textFromEventDict(event_dict)
        if text is None:
            return

        time_str = self.formatTime(event_dict["time"])
        fmt_dict = {
            "system": event_dict["system"],
            "text": text.replace("\n", "\n\t")
        }
        msg_str = _safeFormat("[%(system)s] %(text)s\n", fmt_dict)
        untilConcludes(
            logging.getLogger('parlay').log, level, time_str + " " + msg_str)
예제 #38
0
 def quietEmit(self, eventDict):
     text = log.textFromEventDict(eventDict)
     if text is None:
         return
     if "/api/statusinfo" in text:  # do not log OWF statusinfo
         return
     # Log with time stamp.
     #
     # timeStr = self.formatTime(eventDict["time"])
     # fmtDict = {
     # 	"ts": timeStr,
     # 	"system": eventDict["system"],
     # 	"text": text.replace("\n", "\n\t")
     # }
     # msgStr = log._safeFormat("%(ts)s [%(system)s] %(text)s\n", fmtDict)
     #
     # Log without time stamp.
     #
     fmtDict = {"text": text.replace("\n", "\n\t")}
     msgStr = log._safeFormat("%(text)s\n", fmtDict)
     util.untilConcludes(self.write, msgStr)
     util.untilConcludes(self.flush)