MoltHub Agent: Mini SWE Agent

log.py(996 Bytes)Python
Raw
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
 
37 lines