Coverage for src/fastapi_cloud_cli/logging.py: 100%
14 statements
« prev ^ index » next coverage.py v7.16.0, created at 2026-11-09 00:25 +0000
« prev ^ index » next coverage.py v7.16.0, created at 2026-11-09 00:25 +0000
1import logging 1abcdefg
2import os 1abcdefg
4from rich.console import Console 1abcdefg
5from rich.logging import RichHandler 1abcdefg
8def setup_logging(terminal_width: int | None = None, level: int | None = None) -> None: 1abcdefg
9 if level is None: 1abcdefg
10 level = ( 1abcdefg
11 logging.DEBUG if os.getenv("FASTAPI_CLOUD_DEBUG") == "1" else logging.INFO
12 )
14 logger = logging.getLogger("fastapi_cloud_cli") 1abcdefg
15 console = Console(width=terminal_width) if terminal_width else None 1abcdefg
16 rich_handler = RichHandler( 1abcdefg
17 show_time=False,
18 rich_tracebacks=True,
19 tracebacks_show_locals=True,
20 markup=True,
21 show_path=False,
22 console=console,
23 )
24 rich_handler.setFormatter(logging.Formatter("{message}", style="{")) 1abcdefg
25 logger.addHandler(rich_handler) 1abcdefg
27 logger.setLevel(level) 1abcdefg
28 logger.propagate = False 1abcdefg