Module slack_bolt.logger
Bolt for Python relies on the standard logging
module.
Expand source code
"""Bolt for Python relies on the standard `logging` module."""
import logging
from logging import Logger
from typing import Any, Optional
def get_bolt_logger(cls: Any, base_logger: Optional[Logger] = None) -> Logger:
logger = logging.getLogger(f"slack_bolt.{cls.__name__}")
if base_logger is not None:
_configure_from_base_logger(logger, base_logger)
else:
_configure_from_root(logger)
return logger
def get_bolt_app_logger(app_name: str, cls: object = None, base_logger: Optional[Logger] = None) -> Logger:
logger: Logger = (
logging.getLogger(f"{app_name}:{cls.__name__}") if cls and hasattr(cls, "__name__") else logging.getLogger(app_name)
)
if base_logger is not None:
_configure_from_base_logger(logger, base_logger)
else:
_configure_from_root(logger)
return logger
def _configure_from_base_logger(new_logger: Logger, base_logger: Logger):
new_logger.disabled = base_logger.disabled
new_logger.level = base_logger.level
if len(new_logger.handlers) == 0:
for h in base_logger.handlers:
new_logger.addHandler(h)
if len(new_logger.filters) == 0:
for f in base_logger.filters:
new_logger.addFilter(f)
def _configure_from_root(new_logger: Logger):
new_logger.disabled = logging.root.disabled
new_logger.level = logging.root.level
__all__ = [
"get_bolt_logger",
"get_bolt_app_logger",
]
Sub-modules
slack_bolt.logger.messages
Functions
def get_bolt_app_logger(app_name: str, cls: object = None, base_logger: Optional[logging.Logger] = None) ‑> logging.Logger
-
Expand source code
def get_bolt_app_logger(app_name: str, cls: object = None, base_logger: Optional[Logger] = None) -> Logger: logger: Logger = ( logging.getLogger(f"{app_name}:{cls.__name__}") if cls and hasattr(cls, "__name__") else logging.getLogger(app_name) ) if base_logger is not None: _configure_from_base_logger(logger, base_logger) else: _configure_from_root(logger) return logger
def get_bolt_logger(cls: Any, base_logger: Optional[logging.Logger] = None) ‑> logging.Logger
-
Expand source code
def get_bolt_logger(cls: Any, base_logger: Optional[Logger] = None) -> Logger: logger = logging.getLogger(f"slack_bolt.{cls.__name__}") if base_logger is not None: _configure_from_base_logger(logger, base_logger) else: _configure_from_root(logger) return logger