From 0c3268aa2033eb7ddf46e97ea7220ce17faaeb5c Mon Sep 17 00:00:00 2001 From: Arijit Basu Date: Tue, 18 Jun 2024 16:58:27 +0530 Subject: [PATCH] Don't rotate logs by default (#105) --- apphelpers/loggers.py | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/apphelpers/loggers.py b/apphelpers/loggers.py index 42c19ba..0c2d923 100644 --- a/apphelpers/loggers.py +++ b/apphelpers/loggers.py @@ -6,27 +6,24 @@ from loguru import logger as loguru_logger -def build_api_logger(): +def build_api_logger(rotate=False): """ Builds multiprocess-safe (hence loguru over stdlib logger) API logger """ - level = settings.API_LOGGER.LEVEL handler = settings.API_LOGGER.FILEPATH if handler: # Else log to sys.stderr by default - rotation = settings.API_LOGGER.ROTATION - retention = settings.API_LOGGER.RETENTION loguru_logger.add( handler, - retention=retention, - rotation=rotation, + retention=settings.API_LOGGER.RETENTION if rotate else None, + rotation=settings.API_LOGGER.ROTATION if rotate else None, format="{time:YYYY-MM-DD HH:mm:ss} | {message}", enqueue=True, - level=level, + level=settings.API_LOGGER.LEVEL, ) return loguru_logger -def build_app_logger(name="app", logfile="app.log", debug=True): +def build_app_logger(name="app", logfile="app.log", debug=True, rotate=False): """ General purpose application logger. Useful mainly for debugging """ @@ -36,7 +33,11 @@ def build_app_logger(name="app", logfile="app.log", debug=True): os.mkdir(logdir) logpath = os.path.join(logdir, logfile) maxBytes = 1024 * 1024 * 10 - handler = RotatingFileHandler(logpath, maxBytes=maxBytes, backupCount=100) + + if rotate: + handler = RotatingFileHandler(logpath, maxBytes=maxBytes, backupCount=100) + else: + handler = logging.FileHandler(logpath) handler.setLevel(level) formatter = logging.Formatter("[%(levelname)s] %(asctime)s: %(message)s") handler.setFormatter(formatter)