Coverage for fastagency/cli/logging.py: 100%

5 statements  

« prev     ^ index     » next       coverage.py v7.8.0, created at 2025-04-19 12:16 +0000

1import logging 1abcdefghi

2from typing import Union 1abcdefghi

3 

4from rich.console import Console 1abcdefghi

5from rich.logging import RichHandler 1abcdefghi

6 

7 

8def setup_logging(terminal_width: Union[int, None] = None) -> None: 1abcdefghi

9 logger = logging.getLogger("fastapi_cli") 1abcdefghi

10 console = Console(width=terminal_width) if terminal_width else None 1abcdefghi

11 rich_handler = RichHandler( 1abcdefghi

12 show_time=False, 

13 rich_tracebacks=True, 

14 tracebacks_show_locals=True, 

15 markup=True, 

16 show_path=False, 

17 console=console, 

18 ) 

19 rich_handler.setFormatter(logging.Formatter("%(message)s")) 1abcdefghi

20 logger.addHandler(rich_handler) 1abcdefghi

21 

22 logger.setLevel(logging.INFO) 1abcdefghi

23 logger.propagate = False 1abcdefghi