コード例 #1
0
    def _set_log_level(self, level):
        # up to the desired level, we don't do anything, as we're a
        # "real" Twisted new-logger; for methods *after* the desired
        # level, we bind to the no_op method
        desired_index = log_levels.index(level)

        for (idx, name) in enumerate(log_levels):
            if name == 'none':
                continue

            if idx > desired_index:
                current = getattr(self, name, None)
                if not current == _no_op or current is None:
                    setattr(self, name, _no_op)
                if name == 'error':
                    setattr(self, 'failure', _no_op)

            else:
                if getattr(self, name, None) in (_no_op, None):

                    if name == 'trace':
                        setattr(self, "trace", self._trace)
                    else:
                        setattr(self, name,
                                partial(self._log, LogLevel.lookupByName(name)))

                    if name == 'error':
                        setattr(self, "failure", self._failure)

        self._log_level = level
コード例 #2
0
ファイル: logging.py プロジェクト: marco-c/autopush
 def __init__(self, logger_name, log_level="debug", log_format="json",
              log_output="stdout", sentry_dsn=None,
              firehose_delivery_stream=None):
     self.logger_name = "-".join([
         logger_name,
         pkg_resources.get_distribution("autopush").version
     ])
     self._filename = None
     self.log_level = LogLevel.lookupByName(log_level)
     if log_output == "stdout":
         self._output = sys.stdout
     elif log_output == "none":
         self._output = None
     else:
         self._filename = log_output
         self._output = "file"
     if log_format == "json":
         self.format_event = self.json_format
     else:
         self.format_event = formatEventAsClassicLogText
     if sentry_dsn:
         self.raven_client = raven.Client(
             release=raven.fetch_package_version("autopush"))
     else:
         self.raven_client = None
     if firehose_delivery_stream:
         self.firehose = FirehoseProcessor(
             stream_name=firehose_delivery_stream)
     else:
         self.firehose = None
コード例 #3
0
    def emit(self, level, *args, **kwargs):

        if log_levels.index(self._log_level) < log_levels.index(level):
            return

        if level == "trace":
            return self._trace(*args, **kwargs)

        level = LogLevel.lookupByName(level)
        return self._log(level, *args, **kwargs)