| 1 | import logging
|
| 2 | from pathlib import Path
|
| 3 |
|
| 4 | from rich.logging import RichHandler
|
| 5 |
|
| 6 |
|
| 7 | def _setup_root_logger() -> None:
|
| 8 | logger = logging.getLogger("minisweagent")
|
| 9 | logger.setLevel(logging.DEBUG)
|
| 10 | _handler = RichHandler(
|
| 11 | show_path=False,
|
| 12 | show_time=False,
|
| 13 | show_level=False,
|
| 14 | markup=True,
|
| 15 | )
|
| 16 | _formatter = logging.Formatter("%(name)s: %(levelname)s: %(message)s")
|
| 17 | _handler.setFormatter(_formatter)
|
| 18 | logger.addHandler(_handler)
|
| 19 |
|
| 20 |
|
| 21 | def add_file_handler(path: Path | str, level: int = logging.DEBUG, *, print_path: bool = True) -> None:
|
| 22 | logger = logging.getLogger("minisweagent")
|
| 23 | handler = logging.FileHandler(path)
|
| 24 | handler.setLevel(level)
|
| 25 | formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
|
| 26 | handler.setFormatter(formatter)
|
| 27 | logger.addHandler(handler)
|
| 28 | if print_path:
|
| 29 | print(f"Logging to '{path}'")
|
| 30 |
|
| 31 |
|
| 32 | _setup_root_logger()
|
| 33 | logger = logging.getLogger("minisweagent")
|
| 34 |
|
| 35 |
|
| 36 | __all__ = ["logger"]
|
| 37 |
|