From 8289a938308da77b6754edc0fce8e06ae2c49c7a Mon Sep 17 00:00:00 2001 From: samwiseg0 Date: Wed, 5 Dec 2018 00:42:15 -0500 Subject: [PATCH] Update logger --- varken/varkenlogger.py | 36 ++++++++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/varken/varkenlogger.py b/varken/varkenlogger.py index bbdf4c8..92d097b 100644 --- a/varken/varkenlogger.py +++ b/varken/varkenlogger.py @@ -1,8 +1,31 @@ import logging +from logging.handlers import RotatingFileHandler +from varken.helpers import mkdir_p + +FILENAME = "varken.log" +MAX_SIZE = 5000000 # 5 MB +MAX_FILES = 5 +LOG_FOLDER = 'logs' + + class VarkenLogger(object): """docstring for .""" - def __init__(self, log_path=None, log_level=None): + def __init__(self, log_path=None, debug=None, data_folder=None): + self.data_folder = data_folder + self.log_level = debug + + # Set log level + if self.log_level: + self.log_level = logging.DEBUG + + else: + self.log_level = logging.INFO + + + # Make the log directory if it does not exist + mkdir_p('{}/{}'.format(self.data_folder, LOG_FOLDER)) + # Create the Logger self.logger = logging.getLogger() self.logger.setLevel(logging.DEBUG) @@ -11,8 +34,13 @@ class VarkenLogger(object): logger_formatter = logging.Formatter('%(asctime)s : %(levelname)s : %(module)s : %(message)s', '%Y-%m-%d %H:%M:%S') # Create the Handler for logging data to a file - file_logger = logging.FileHandler('varken.log') - file_logger.setLevel(logging.DEBUG) + file_logger = RotatingFileHandler('{}/{}/{}'.format(self.data_folder, LOG_FOLDER, FILENAME), + mode='a', maxBytes=MAX_SIZE, + backupCount=MAX_FILES, + encoding=None, delay=0 + ) + + file_logger.setLevel(self.log_level) # Add the Formatter to the Handler file_logger.setFormatter(logger_formatter) @@ -20,7 +48,7 @@ class VarkenLogger(object): # Add the console logger console_logger = logging.StreamHandler() console_logger.setFormatter(logger_formatter) - console_logger.setLevel(logging.INFO) + console_logger.setLevel(self.log_level) # Add the Handler to the Logger self.logger.addHandler(file_logger)