Skip to content

Commit

Permalink
refactor - moving single info log setup to the logging_helper.py
Browse files Browse the repository at this point in the history
  • Loading branch information
danellecline committed Sep 13, 2024
1 parent 6746974 commit 42043af
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 18 deletions.
24 changes: 24 additions & 0 deletions pbp/logging_helper.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,27 @@ def create_logger(
)

return log


def create_logger_info(log_filename: str):
"""
Create a logger with INFO level for console and file and simple format (no log level).
Also logs to a file all messages at DEBUG level and above.
Best used for scripts that don't need DEBUG level logging to the console.
:param log_filename:
The name of the log file to create
"""
loguru.logger.remove()
log = copy.deepcopy(loguru.logger)
info_format = "{message}"
default_format = "{time} {level} {message}"
log.add(
sys.stdout,
level="INFO",
format=info_format,
filter=lambda record: record["level"].name == "INFO",
)
log.add(
sink=open(log_filename, "w"), level="DEBUG", format=default_format, enqueue=True
)
return log
22 changes: 4 additions & 18 deletions pbp/main_meta_generator.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
import os
from datetime import datetime
from pathlib import Path
import loguru
import sys
import copy

from pbp.logging_helper import create_logger_info
from pbp.meta_gen.gen_nrs import NRSMetadataGenerator
from pbp.meta_gen.gen_iclisten import IcListenMetadataGenerator
from pbp.meta_gen.gen_soundtrap import SoundTrapMetadataGenerator
from pbp.main_meta_generator_args import parse_arguments


# Some imports, in particular involving data processing, cause a delay that is
# noticeable when just running the --help option. We get around this issue by
# postponing the imports until actually needed. See the main() function.
Expand All @@ -18,21 +17,6 @@
def main():
opts = parse_arguments()

loguru.logger.remove()
log = copy.deepcopy(loguru.logger)
info_format = "{message}"
default_format = "{time} {level} {message}"
log_filename = (f"{opts.output_dir}/{opts.recorder}{opts.start}_{opts.end}.log",)
log.add(
sys.stdout,
level="INFO",
format=info_format,
filter=lambda record: record["level"].name == "INFO",
)
log.add(
sink=open(log_filename, "w"), level="DEBUG", format=default_format, enqueue=True
)

log_dir = Path(opts.output_dir)
json_dir = Path(opts.json_base_dir)
if opts.xml_dir is None:
Expand All @@ -49,6 +33,8 @@ def main():
start = datetime.strptime(opts.start, "%Y%m%d")
end = datetime.strptime(opts.end, "%Y%m%d")

log = create_logger_info(f"{opts.output_dir}/{opts.recorder}{opts.start}_{opts.end}.log")

try:
if opts.recorder == "NRS":
generator = NRSMetadataGenerator(
Expand Down

0 comments on commit 42043af

Please sign in to comment.