Skip to content

logging_interface

appimage_updater.instrumentation.logging_interface

Logging interface for HTTP instrumentation with dependency injection.

ConfigurableHTTPLogger(base_logger, tracking_level='debug', request_level='debug', error_level='debug')

HTTP logger with configurable log levels.

Parameters:

Name Type Description Default
base_logger HTTPLogger

Underlying logger implementation

required
tracking_level str

Level for start/stop tracking messages

'debug'
request_level str

Level for individual request messages

'debug'
error_level str

Level for error messages

'debug'
Source code in src/appimage_updater/instrumentation/logging_interface.py
def __init__(
    self,
    base_logger: HTTPLogger,
    tracking_level: str = "debug",
    request_level: str = "debug",
    error_level: str = "debug",
):
    """Initialize with configurable log levels.

    Args:
        base_logger: Underlying logger implementation
        tracking_level: Level for start/stop tracking messages
        request_level: Level for individual request messages
        error_level: Level for error messages
    """
    self._base_logger = base_logger
    self._tracking_level = tracking_level
    self._request_level = request_level
    self._error_level = error_level

log_error(message, **kwargs)

Log error message.

Source code in src/appimage_updater/instrumentation/logging_interface.py
def log_error(self, message: str, **kwargs: Any) -> None:
    """Log error message."""
    self._log_at_level(self._error_level, message, **kwargs)

log_request(message, **kwargs)

Log individual request message.

Source code in src/appimage_updater/instrumentation/logging_interface.py
def log_request(self, message: str, **kwargs: Any) -> None:
    """Log individual request message."""
    self._log_at_level(self._request_level, message, **kwargs)

log_tracking_start(message, **kwargs)

Log tracking start message.

Source code in src/appimage_updater/instrumentation/logging_interface.py
def log_tracking_start(self, message: str, **kwargs: Any) -> None:
    """Log tracking start message."""
    self._log_at_level(self._tracking_level, message, **kwargs)

log_tracking_stop(message, **kwargs)

Log tracking stop message.

Source code in src/appimage_updater/instrumentation/logging_interface.py
def log_tracking_stop(self, message: str, **kwargs: Any) -> None:
    """Log tracking stop message."""
    self._log_at_level(self._tracking_level, message, **kwargs)

warning(message, **kwargs)

Log warning message (always at warning level).

Source code in src/appimage_updater/instrumentation/logging_interface.py
def warning(self, message: str, **kwargs: Any) -> None:
    """Log warning message (always at warning level)."""
    self._base_logger.warning(message, **kwargs)

HTTPLogger

Protocol for HTTP logging interface.

debug(message, **kwargs)

Log debug message.

Source code in src/appimage_updater/instrumentation/logging_interface.py
def debug(self, message: str, **kwargs: Any) -> None:
    """Log debug message."""
    ...

error(message, **kwargs)

Log error message.

Source code in src/appimage_updater/instrumentation/logging_interface.py
def error(self, message: str, **kwargs: Any) -> None:
    """Log error message."""
    ...

info(message, **kwargs)

Log info message.

Source code in src/appimage_updater/instrumentation/logging_interface.py
def info(self, message: str, **kwargs: Any) -> None:
    """Log info message."""
    ...

warning(message, **kwargs)

Log warning message.

Source code in src/appimage_updater/instrumentation/logging_interface.py
def warning(self, message: str, **kwargs: Any) -> None:
    """Log warning message."""
    ...

LoguruHTTPLogger(logger_name='appimage_updater.instrumentation.http_tracker')

Loguru-based implementation of HTTPLogger.

Source code in src/appimage_updater/instrumentation/logging_interface.py
def __init__(self, logger_name: str = "appimage_updater.instrumentation.http_tracker"):
    """Initialize with specific logger name."""
    self._logger = logger.bind(name=logger_name)

debug(message, **kwargs)

Log debug message.

Source code in src/appimage_updater/instrumentation/logging_interface.py
def debug(self, message: str, **kwargs: Any) -> None:
    """Log debug message."""
    self._logger.debug(message, **kwargs)

error(message, **kwargs)

Log error message.

Source code in src/appimage_updater/instrumentation/logging_interface.py
def error(self, message: str, **kwargs: Any) -> None:
    """Log error message."""
    self._logger.error(message, **kwargs)

info(message, **kwargs)

Log info message.

Source code in src/appimage_updater/instrumentation/logging_interface.py
def info(self, message: str, **kwargs: Any) -> None:
    """Log info message."""
    self._logger.info(message, **kwargs)

warning(message, **kwargs)

Log warning message.

Source code in src/appimage_updater/instrumentation/logging_interface.py
def warning(self, message: str, **kwargs: Any) -> None:
    """Log warning message."""
    self._logger.warning(message, **kwargs)

SilentHTTPLogger

Silent HTTP logger for testing or quiet operation.

debug(message, **kwargs)

Silent debug.

Source code in src/appimage_updater/instrumentation/logging_interface.py
def debug(self, message: str, **kwargs: Any) -> None:
    """Silent debug."""
    pass

error(message, **kwargs)

Silent error.

Source code in src/appimage_updater/instrumentation/logging_interface.py
def error(self, message: str, **kwargs: Any) -> None:
    """Silent error."""
    pass

info(message, **kwargs)

Silent info.

Source code in src/appimage_updater/instrumentation/logging_interface.py
def info(self, message: str, **kwargs: Any) -> None:
    """Silent info."""
    pass

log_error(message, **kwargs)

Silent error.

Source code in src/appimage_updater/instrumentation/logging_interface.py
def log_error(self, message: str, **kwargs: Any) -> None:
    """Silent error."""
    pass

log_request(message, **kwargs)

Silent request.

Source code in src/appimage_updater/instrumentation/logging_interface.py
def log_request(self, message: str, **kwargs: Any) -> None:
    """Silent request."""
    pass

log_tracking_start(message, **kwargs)

Silent tracking start.

Source code in src/appimage_updater/instrumentation/logging_interface.py
def log_tracking_start(self, message: str, **kwargs: Any) -> None:
    """Silent tracking start."""
    pass

log_tracking_stop(message, **kwargs)

Silent tracking stop.

Source code in src/appimage_updater/instrumentation/logging_interface.py
def log_tracking_stop(self, message: str, **kwargs: Any) -> None:
    """Silent tracking stop."""
    pass

warning(message, **kwargs)

Silent warning.

Source code in src/appimage_updater/instrumentation/logging_interface.py
def warning(self, message: str, **kwargs: Any) -> None:
    """Silent warning."""
    pass

create_default_http_logger(verbose=False)

Create default HTTP logger with appropriate verbosity.

Parameters:

Name Type Description Default
verbose bool

If True, use info level for tracking messages

False

Returns:

Type Description
ConfigurableHTTPLogger

Configured HTTP logger

Source code in src/appimage_updater/instrumentation/logging_interface.py
def create_default_http_logger(verbose: bool = False) -> ConfigurableHTTPLogger:
    """Create default HTTP logger with appropriate verbosity.

    Args:
        verbose: If True, use info level for tracking messages

    Returns:
        Configured HTTP logger
    """
    base_logger = LoguruHTTPLogger()

    if verbose:
        return ConfigurableHTTPLogger(base_logger, tracking_level="info", request_level="debug", error_level="warning")
    else:
        return ConfigurableHTTPLogger(base_logger, tracking_level="debug", request_level="debug", error_level="debug")

create_silent_http_logger()

Create silent HTTP logger for testing.

Source code in src/appimage_updater/instrumentation/logging_interface.py
def create_silent_http_logger() -> SilentHTTPLogger:
    """Create silent HTTP logger for testing."""
    return SilentHTTPLogger()