跳至内容

参考资料 hub_sdk/helpers/logger.py

备注

该文件位于https://github.com/ultralytics/hub-sdk/blob/main/hub_sdk/helpers/logger.py。如果您发现问题,请通过提交 Pull Request🛠️ 帮助修复。谢谢🙏!



hub_sdk.helpers.logger.Logger

代表用于处理日志信息的日志记录器配置。

属性

名称 类型 说明
logger_name str

记录仪名称。默认为调用模块的名称。

log_format str

日志信息的格式。默认为环境变量 "LOGGER_FORMAT "的值或"%(asctime) 环境变量或"%(asctime)s - %(name)s - %(levelname)s - %(message)s "的值。

log_level str

日志记录器的日志级别。默认为环境变量 "LOGGER_LEVEL "或 "INFO "的值。 环境变量或 "INFO "的值。

logger Logger

配置的日志记录器实例。

源代码 hub_sdk/helpers/logger.py
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): Name of the logger. If not provided, defaults to the root logger.
            log_format (str): Format for log messages. Defaults to the value of 'LOGGER_FORMAT'
                             environment variable or '%(asctime)s - %(levelname)s - %(message)s'.
            log_level (str): 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()

    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

    def get_logger(self) -> logging.Logger:
        """
        Get the configured logger instance.

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

__init__(logger_name=None, log_format=None, log_level=None)

初始化日志记录器实例

参数

名称 类型 说明 默认值
logger_name str

记录仪名称。如果未提供,默认为根日志记录器。

None
log_format str

日志信息的格式。默认值为环境变量 "LOGGER_FORMAT 环境变量或"%(asctime)s - %(levelname)s - %(message)s "的值。

None
log_level str

日志记录器的日志级别。默认为环境变量 "LOGGER_LEVEL "或 "INFO "的值。 环境变量或 "INFO "的值。

None
源代码 hub_sdk/helpers/logger.py
def __init__(self, logger_name=None, log_format=None, log_level=None):
    """
    Initialize a Logger instance.

    Args:
        logger_name (str): Name of the logger. If not provided, defaults to the root logger.
        log_format (str): Format for log messages. Defaults to the value of 'LOGGER_FORMAT'
                         environment variable or '%(asctime)s - %(levelname)s - %(message)s'.
        log_level (str): 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()

get_logger()

获取已配置的日志记录器实例。

返回:

类型 说明
Logger

配置的日志记录器实例。

源代码 hub_sdk/helpers/logger.py
def get_logger(self) -> logging.Logger:
    """
    Get the configured logger instance.

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