Thread-safe formatter that uses different formats per log level.
| 31 | |
| 32 | if not logger.handlers: |
| 33 | class LevelSpecificFormatter(logging.Formatter): |
| 34 | """Thread-safe formatter that uses different formats per log level.""" |
| 35 | def format(self, record): |
| 36 | # Use local variable instead of mutating shared _style._fmt |
| 37 | fmt = info_fmt if record.levelno == logging.INFO else default_fmt |
| 38 | formatter = logging.Formatter(fmt, datefmt=datefmt) |
| 39 | return formatter.format(record) |
| 40 | |
| 41 | level_formatter = LevelSpecificFormatter(default_fmt, datefmt=datefmt) |
| 42 |