Skip to main content
Version: v4.0.0 [Denim]

bat.logging.logging

create_logger

def create_logger(
name: str,
level: Literal["debug", "info", "warning", "error", "critical"] = "info"
) -> logging.Logger

Create a logging.Logger with nice formatting for terminal output. The specified logging level is set for the logger, but the actual level can be overridden by the LOG_LEVEL environment variable assigned to the log handler.

Example:

    logger1 = create_logger("my_logger1", level="debug")
logger1.info("This is an info message.") # Visible
    logger2 = create_logger("my_logger2", level="info")
logger2.debug("This is a debug message.") # Not visible
    logger3 = create_logger("my_logger3", level="debug")
logger3.debug("This is a debug message.") # Visible if LOG_LEVEL is set to "debug"

Arguments:

  • name str - The name of the logger.
  • level Literal["debug", "info", "warning", "error", "critical"] - The logging level to set for the logger.

Returns:

  • logging.Logger - The configured logger instance.