| #!/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) |