예제 #1
0
 def format(self, record: LogRecord) -> str:
     color = self.level_colors.get(record.levelno,
                                   self.level_colors.get(None, ""))
     orig = record.__dict__
     record.__dict__ = {**colors, "c_color": color, **record.__dict__}
     out = super().format(record)
     record.__dict__ = orig
     return out
예제 #2
0
    def format(self, record: logging.LogRecord) -> str:
        orig = record.__dict__
        record.__dict__ = record.__dict__.copy()
        levelname = record.levelname

        prn_name = levelname + ' ' * (8 - len(levelname))
        if levelname in self.colors:
            record.levelname = self.colors[levelname](prn_name)
        else:
            record.levelname = prn_name

        # super doesn't work here in 2.6 O_o
        res = logging.Formatter.format(self, record)

        # res = super(ColoredFormatter, self).format(record)

        # restore record, as it will be used by other formatters
        record.__dict__ = orig
        return res