| 12345678910111213141516171819202122232425262728293031 |
- """Grab the global logger instance."""
- # Copyright (c) IPython Development Team.
- # Distributed under the terms of the Modified BSD License.
- from __future__ import annotations
- import logging
- from typing import Any
- _logger: logging.Logger | logging.LoggerAdapter[Any] | None = None
- def get_logger() -> logging.Logger | logging.LoggerAdapter[Any]:
- """Grab the global logger instance.
- If a global Application is instantiated, grab its logger.
- Otherwise, grab the root logger.
- """
- global _logger # noqa: PLW0603
- if _logger is None:
- from .config import Application
- if Application.initialized():
- _logger = Application.instance().log
- else:
- _logger = logging.getLogger("traitlets")
- # Add a NullHandler to silence warnings about not being
- # initialized, per best practice for libraries.
- _logger.addHandler(logging.NullHandler())
- return _logger
|