Skip to content

logger

frog.logger ¤

Set up the program's logger.

Functions¤

get_log_path() ¤

Return the user log path.

Source code in frog/logger.py
15
16
17
18
19
def get_log_path():
    """Return the user log path."""
    log_path = user_log_path(config.APP_NAME, config.APP_AUTHOR)
    log_path.mkdir(parents=True, exist_ok=True)
    return log_path

initialise_logging() ¤

Configure the program's logger.

Source code in frog/logger.py
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
def initialise_logging() -> None:
    """Configure the program's logger."""
    global log_file
    log_file = get_log_path() / f"{get_current_time().strftime('%Y%m%d_%H-%M-%S')}.log"

    # Allow user to set log level with environment variable
    log_level = (os.environ.get("FROG_LOG_LEVEL") or "INFO").upper()
    if not hasattr(logging, log_level):
        raise ValueError(f"Invalid log level: {log_level}")

    # Log to console and file
    logging.basicConfig(
        level=log_level,
        format="%(asctime)s [%(levelname)s] %(message)s",
        handlers=[logging.FileHandler(log_file), logging.StreamHandler()],
    )