Skip to content

Reference for hub_sdk/helpers/logger.py

Improvements

This page is sourced from https://github.com/ultralytics/hub-sdk/blob/main/hub_sdk/helpers/logger.py. Have an improvement or example to add? Open a Pull Request — thank you! 🙏


class hub_sdk.helpers.logger.Logger

Logger(self, logger_name = None, log_format = None, log_level = None)

Represents a logger configuration for handling log messages.

Args

NameTypeDescriptionDefault
logger_namestr, optionalName of the logger. If not provided, defaults to the root logger.None
log_formatstr, optionalFormat for log messages. Defaults to the value of 'LOGGER_FORMAT' environment variable or '%(asctime)s - %(name)s - %(levelname)s - %(message)s'.None
log_levelstr, optionalLog level for the logger. Defaults to the value of 'LOGGER_LEVEL' environment variable or 'INFO'.None

Attributes

NameTypeDescription
logger_namestrName of the logger. Defaults to the name of the calling module.
log_formatstrFormat for log messages. Defaults to the value of 'LOGGER_FORMAT' environment variable or '%(asctime)s - %(name)s - %(levelname)s - %(message)s'.
log_levelstrLog level for the logger. Defaults to the value of 'LOGGER_LEVEL' environment variable or 'INFO'.
loggerlogging.LoggerThe configured logger instance.

Methods

NameDescription
_configure_loggerConfigure the logger with the provided settings.
get_loggerGet the configured logger instance.
Source code in hub_sdk/helpers/logger.pyView on GitHub
class Logger:
    """Represents a logger configuration for handling log messages.

    Attributes:
        logger_name (str): Name of the logger. Defaults to the name of the calling module.
        log_format (str): Format for log messages. Defaults to the value of 'LOGGER_FORMAT' environment variable or
            '%(asctime)s - %(name)s - %(levelname)s - %(message)s'.
        log_level (str): Log level for the logger. Defaults to the value of 'LOGGER_LEVEL' environment variable or
            'INFO'.
        logger (logging.Logger): The configured logger instance.
    """

    def __init__(self, logger_name=None, log_format=None, log_level=None):
        """Initialize a Logger instance.

        Args:
            logger_name (str, optional): Name of the logger. If not provided, defaults to the root logger.
            log_format (str, optional): Format for log messages. Defaults to the value of 'LOGGER_FORMAT' environment
                variable or '%(asctime)s - %(name)s - %(levelname)s - %(message)s'.
            log_level (str, optional): Log level for the logger. Defaults to the value of 'LOGGER_LEVEL' environment
                variable or 'INFO'.
        """
        self.log_format = log_format or os.environ.get(
            "LOGGER_FORMAT", "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
        )
        self.log_level = log_level or os.environ.get("LOGGER_LEVEL", "INFO")
        self.logger_name = logger_name or __name__

        self.logger = self._configure_logger()


method hub_sdk.helpers.logger.Logger._configure_logger

def _configure_logger(self) -> logging.Logger

Configure the logger with the provided settings.

Returns

TypeDescription
logging.LoggerA configured logger instance.
Source code in hub_sdk/helpers/logger.pyView on GitHub
def _configure_logger(self) -> logging.Logger:
    """Configure the logger with the provided settings.

    Returns:
        (logging.Logger): A configured logger instance.
    """
    logger = logging.getLogger(self.logger_name)
    logger.setLevel(self.log_level)

    formatter = logging.Formatter(self.log_format)

    handler = logging.StreamHandler()
    handler.setFormatter(formatter)

    logger.addHandler(handler)
    return logger


method hub_sdk.helpers.logger.Logger.get_logger

def get_logger(self) -> logging.Logger

Get the configured logger instance.

Returns

TypeDescription
logging.LoggerThe configured logger instance.
Source code in hub_sdk/helpers/logger.pyView on GitHub
def get_logger(self) -> logging.Logger:
    """Get the configured logger instance.

    Returns:
        (logging.Logger): The configured logger instance.
    """
    return self.logger