Coverage for src/qdrant_loader/cli/logging_utils.py: 24%
33 statements
« prev ^ index » next coverage.py v7.10.6, created at 2025-09-08 06:05 +0000
« prev ^ index » next coverage.py v7.10.6, created at 2025-09-08 06:05 +0000
1from __future__ import annotations
3from logging import Logger
4from typing import Any
6_logger = None
9def get_logger() -> Logger:
10 global _logger
11 if _logger is None:
12 from qdrant_loader.utils.logging import LoggingConfig
14 _logger = LoggingConfig.get_logger(__name__)
15 return _logger
18def setup_logging(log_level: str, workspace_config: Any | None = None) -> None:
19 try:
20 from qdrant_loader.utils.logging import LoggingConfig
22 log_format = "console"
23 if workspace_config:
24 log_file = str(workspace_config.logs_path)
25 else:
26 log_file = "qdrant-loader.log"
28 LoggingConfig.setup(level=log_level, format=log_format, file=log_file)
30 global _logger
31 _logger = LoggingConfig.get_logger(__name__)
32 except Exception as e: # pragma: no cover - delegated to CLI error handler
33 from click.exceptions import ClickException
35 raise ClickException(f"Failed to setup logging: {str(e)!s}") from e
38def check_for_updates() -> None:
39 try:
40 from qdrant_loader.utils.version_check import check_version_async
42 current_version = _get_version()
43 check_version_async(current_version, silent=False)
44 except Exception:
45 # ignore failures
46 pass
49def _get_version() -> str:
50 try:
51 from importlib.metadata import version
53 return version("qdrant-loader")
54 except ImportError:
55 return "unknown"
56 except Exception:
57 return "unknown"