def get_absl_log_prefix(record):
  """Returns the absl log prefix for the log record.

  Args:
    record: logging.LogRecord, the record to get prefix for.
  """
  created_tuple = time.localtime(record.created)
  created_microsecond = int(record.created % 1.0 * 1e6)

  critical_prefix = ''
  level = record.levelno
  if _is_non_absl_fatal_record(record):
    # When the level is FATAL, but not logged from absl, lower the level so
    # it's treated as ERROR.
    level = logging.ERROR
    critical_prefix = _CRITICAL_PREFIX
  severity = converter.get_initial_for_level(level)

  return '%c%02d%02d %02d:%02d:%02d.%06d %5d %s:%d] %s' % (
      severity,
      created_tuple.tm_mon,
      created_tuple.tm_mday,
      created_tuple.tm_hour,
      created_tuple.tm_min,
      created_tuple.tm_sec,
      created_microsecond,
      _get_thread_id(),
      record.filename,
      record.lineno,
      critical_prefix)
예제 #2
0
def get_absl_log_prefix(record):
  """Returns the absl log prefix for the log record.

  Args:
    record: logging.LogRecord, the record to get prefix for.
  """
  created_tuple = time.localtime(record.created)
  created_microsecond = int(record.created % 1.0 * 1e6)

  critical_prefix = ''
  level = record.levelno
  if _is_non_absl_fatal_record(record):
    # When the level is FATAL, but not logged from absl, lower the level so
    # it's treated as ERROR.
    level = logging.ERROR
    critical_prefix = _CRITICAL_PREFIX
  severity = converter.get_initial_for_level(level)

  return '%c%02d%02d %02d:%02d:%02d.%06d %5d %s:%d] %s' % (
      severity,
      created_tuple.tm_mon,
      created_tuple.tm_mday,
      created_tuple.tm_hour,
      created_tuple.tm_min,
      created_tuple.tm_sec,
      created_microsecond,
      _get_thread_id(),
      record.filename,
      record.lineno,
      critical_prefix)
    def test_get_initial_for_level(self):
        self.assertEqual('F',
                         converter.get_initial_for_level(logging.CRITICAL))
        self.assertEqual('E', converter.get_initial_for_level(logging.ERROR))
        self.assertEqual('W', converter.get_initial_for_level(logging.WARNING))
        self.assertEqual('I', converter.get_initial_for_level(logging.INFO))
        self.assertEqual('I', converter.get_initial_for_level(logging.DEBUG))
        self.assertEqual('I', converter.get_initial_for_level(logging.NOTSET))

        self.assertEqual('F', converter.get_initial_for_level(51))
        self.assertEqual('E', converter.get_initial_for_level(49))
        self.assertEqual('E', converter.get_initial_for_level(41))
        self.assertEqual('W', converter.get_initial_for_level(39))
        self.assertEqual('W', converter.get_initial_for_level(31))
        self.assertEqual('I', converter.get_initial_for_level(29))
        self.assertEqual('I', converter.get_initial_for_level(21))
        self.assertEqual('I', converter.get_initial_for_level(19))
        self.assertEqual('I', converter.get_initial_for_level(11))
        self.assertEqual('I', converter.get_initial_for_level(9))
        self.assertEqual('I', converter.get_initial_for_level(1))
        self.assertEqual('I', converter.get_initial_for_level(-1))