pantri/scripts/lib/logger.py (22 lines of code) (raw):

#!/usr/bin/env python3 # Copyright (c) Facebook, Inc. and its affiliates. All rights reserved. import logging import logging.handlers import os from . import utils def get_logger(): """ get_logger(): Creates logger object to output messages to stdout """ log_dir = os.path.join(utils.get_paths()["logs"]) if not os.path.exists(log_dir): os.makedirs(log_dir) log_path = os.path.join(log_dir, "pantri.log") logger = logging.getLogger(__name__) if not len(logger.handlers): format_str = "[%(asctime)s] %(levelname)s: %(message)s" # Define stdout handler console = logging.StreamHandler() console.setFormatter(logging.Formatter(format_str)) # Define log handler log_file = logging.handlers.TimedRotatingFileHandler( log_path, when="midnight", interval=1, backupCount=14 ) # log_file = logging.FileHandler(log_path) log_file.setFormatter(logging.Formatter(format_str)) # Add handlers logger.addHandler(console) logger.addHandler(log_file) logger.setLevel(logging.DEBUG) return logger