Coverage for src/lilbee/cli/tui/log_routing.py: 100%
15 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-09-17 10:02 +0000
« prev ^ index » next coverage.py v7.15.2, created at 2026-09-17 10:02 +0000
1"""TUI log file routing: rotating file handler that survives the stderr strip."""
3from __future__ import annotations
5import logging
6from pathlib import Path
8from lilbee.cli.log_routing import attach_rotating_file_handler
9from lilbee.core.config import cfg
11_TUI_LOG_DIR_NAME = "logs"
12_TUI_LOG_FILE_NAME = "tui.log"
13_MAX_BYTES = 1_048_576 # 1 MiB
14_BACKUP_COUNT = 5
17def setup_tui_log_file() -> Path:
18 """Install a RotatingFileHandler at ``cfg.data_root/logs/tui.log``. Idempotent."""
19 log_dir = cfg.data_root / _TUI_LOG_DIR_NAME
20 log_dir.mkdir(parents=True, exist_ok=True)
21 log_path = log_dir / _TUI_LOG_FILE_NAME
22 attach_rotating_file_handler(
23 log_path,
24 max_bytes=_MAX_BYTES,
25 backup_count=_BACKUP_COUNT,
26 level=logging.WARNING,
27 )
28 return log_path