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

1from __future__ import annotations 

2 

3from logging import Logger 

4from typing import Any 

5 

6_logger = None 

7 

8 

9def get_logger() -> Logger: 

10 global _logger 

11 if _logger is None: 

12 from qdrant_loader.utils.logging import LoggingConfig 

13 

14 _logger = LoggingConfig.get_logger(__name__) 

15 return _logger 

16 

17 

18def setup_logging(log_level: str, workspace_config: Any | None = None) -> None: 

19 try: 

20 from qdrant_loader.utils.logging import LoggingConfig 

21 

22 log_format = "console" 

23 if workspace_config: 

24 log_file = str(workspace_config.logs_path) 

25 else: 

26 log_file = "qdrant-loader.log" 

27 

28 LoggingConfig.setup(level=log_level, format=log_format, file=log_file) 

29 

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 

34 

35 raise ClickException(f"Failed to setup logging: {str(e)!s}") from e 

36 

37 

38def check_for_updates() -> None: 

39 try: 

40 from qdrant_loader.utils.version_check import check_version_async 

41 

42 current_version = _get_version() 

43 check_version_async(current_version, silent=False) 

44 except Exception: 

45 # ignore failures 

46 pass 

47 

48 

49def _get_version() -> str: 

50 try: 

51 from importlib.metadata import version 

52 

53 return version("qdrant-loader") 

54 except ImportError: 

55 return "unknown" 

56 except Exception: 

57 return "unknown"