| #!/usr/bin/env python3 |
| |
| # Copyright (c) 2019 - 2020 Nordic Semiconductor ASA |
| # Copyright (c) 2019 Linaro Limited |
| # Copyright (c) 2024 SILA Embedded Solutions GmbH |
| |
| import logging |
| import sys |
| |
| |
| class LogFormatter(logging.Formatter): |
| '''A log formatter that prints the level name in lower case, |
| for compatibility with earlier versions of edtlib.''' |
| |
| def __init__(self): |
| super().__init__(fmt='%(levelnamelower)s: %(message)s') |
| |
| def format(self, record): |
| record.levelnamelower = record.levelname.lower() |
| return super().format(record) |
| |
| |
| def setup_edtlib_logging() -> None: |
| # The edtlib module emits logs using the standard 'logging' module. |
| # Configure it so that warnings and above are printed to stderr, |
| # using the LogFormatter class defined above to format each message. |
| |
| handler = logging.StreamHandler(sys.stderr) |
| handler.setFormatter(LogFormatter()) |
| |
| logger = logging.getLogger('edtlib') |
| logger.setLevel(logging.WARNING) |
| logger.addHandler(handler) |