Skip to content

Commit

Permalink
feat: add logging setup function to log output to file
Browse files Browse the repository at this point in the history
  • Loading branch information
roger-mahler committed Sep 25, 2024
1 parent d70c96f commit 5554277
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions pyriksprot/scripts/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
from typing import Any, Callable, Optional

import click
from loguru import logger

from pyriksprot import interface, to_speech
from pyriksprot.dispatch import dispatch
Expand Down Expand Up @@ -76,6 +77,20 @@ def update_arguments_from_options_file(
return arguments


def setup_log_to_file(
level: str = 'WARNING',
log_folder: str = CLI_LOG_PATH,
subdir: bool = False,
suffix: str = None,
) -> None:
cli_command: str = utility.strip_path_and_extension(sys.argv[0])
folder: str = os.path.join(CLI_LOG_PATH, cli_command) if subdir else CLI_LOG_PATH
filename: str = utility.ts_data_path(folder, f"{cli_command}_{level}.log")
if suffix:
filename = utility.path_add_suffix(filename, suffix=f"_{suffix.strip('_')}")
logger.add(filename, filter=lambda record: record["level"].name == level, level=level)


def log_arguments(
args: dict, subdir: bool = False, skip_keys: str = 'ctx,options_filename', suffix: str = None
) -> None:
Expand Down

0 comments on commit 5554277

Please sign in to comment.