Skip to content

log

Class info

🛈 DocStrings

Logging configuration for llmling_agent.

get_logger

get_logger(name: str) -> Logger

Get a logger for the given name.

Parameters:

Name Type Description Default
name str

The name of the logger, will be prefixed with 'llmling_agent.'

required

Returns:

Type Description
Logger

A logger instance

Source code in src/llmling_agent/log.py
16
17
18
19
20
21
22
23
24
25
def get_logger(name: str) -> logging.Logger:
    """Get a logger for the given name.

    Args:
        name: The name of the logger, will be prefixed with 'llmling_agent.'

    Returns:
        A logger instance
    """
    return logging.getLogger(f"llmling_agent.{name}")

set_handler_level

set_handler_level(
    level: int,
    logger_names: Sequence[str],
    *,
    session_handler: OutputWriter | None = None,
)

Temporarily set logging level and optionally add session handler.

Parameters:

Name Type Description Default
level int

Logging level to set

required
logger_names Sequence[str]

Names of loggers to configure

required
session_handler OutputWriter | None

Optional output writer for session logging

None
Source code in src/llmling_agent/log.py
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
@contextmanager
def set_handler_level(
    level: int,
    logger_names: Sequence[str],
    *,
    session_handler: OutputWriter | None = None,
):
    """Temporarily set logging level and optionally add session handler.

    Args:
        level: Logging level to set
        logger_names: Names of loggers to configure
        session_handler: Optional output writer for session logging
    """
    loggers = [logging.getLogger(name) for name in logger_names]
    old_levels = [logger.level for logger in loggers]

    handler = None
    if session_handler:
        from slashed.log import SessionLogHandler

        handler = SessionLogHandler(session_handler)
        for logger in loggers:
            logger.addHandler(handler)

    try:
        for logger in loggers:
            logger.setLevel(level)
        yield
    finally:
        for logger, old_level in zip(loggers, old_levels):
            logger.setLevel(old_level)
            if handler:
                logger.removeHandler(handler)