Files
proxy-scraper-checker/proxy_scraper_checker/logs.py
T

34 lines
972 B
Python
Raw Normal View History

2024-11-06 15:05:34 +03:00
from __future__ import annotations
import logging
import logging.handlers
import queue
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from typing import Any
2024-11-06 15:09:38 +03:00
def configure() -> logging.handlers.QueueListener:
2024-11-06 15:05:34 +03:00
log_queue: queue.Queue[Any] = queue.Queue()
logging.root.addHandler(logging.handlers.QueueHandler(log_queue))
2024-11-07 10:39:23 +03:00
logging.root.setLevel(logging.INFO)
2024-11-06 15:05:34 +03:00
# Start logging before importing rich for the first time
2024-11-07 09:34:26 +03:00
import rich.traceback # noqa: PLC0415
2024-11-06 15:05:34 +03:00
from rich.logging import RichHandler # noqa: PLC0415
2024-11-07 09:34:26 +03:00
rich.traceback.install(width=80, extra_lines=0, word_wrap=True)
2024-11-06 15:05:34 +03:00
stream_handler = RichHandler(
omit_repeated_times=False,
show_path=False,
2024-11-07 09:34:26 +03:00
rich_tracebacks=True,
tracebacks_width=80,
tracebacks_extra_lines=0,
tracebacks_word_wrap=True,
2024-11-06 15:05:34 +03:00
log_time_format=logging.Formatter.default_time_format,
)
2024-11-06 15:09:38 +03:00
return logging.handlers.QueueListener(log_queue, stream_handler)