From 86ea984e7ace54264f94a94a1d9469ae8d9cd1d3 Mon Sep 17 00:00:00 2001 From: "Muhamad H. Asadi" Date: Thu, 21 Sep 2023 22:17:38 +0330 Subject: [PATCH] improved logging feature of the app. Changes to be committed: modified: camera-client/camera_monitor.py --- camera-client/camera_monitor.py | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/camera-client/camera_monitor.py b/camera-client/camera_monitor.py index 69beb37..0f5e586 100644 --- a/camera-client/camera_monitor.py +++ b/camera-client/camera_monitor.py @@ -84,9 +84,29 @@ def load_config(config_path): except json.JSONDecodeError: raise Exception(f"Invalid JSON format in config file: {config_path}") -def setup_logging(): - logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s') - return logging.getLogger('CameraMonitor') +def setup_logging(log_file='logs/camera_monitor.log'): + # logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s') + # return logging.getLogger('CameraMonitor') + # Configure the logger + logger = logging.getLogger('CameraMonitor') + logger.setLevel(logging.INFO) + + # Create a TimedRotatingFileHandler for log rotation + file_handler = logging.handlers.TimedRotatingFileHandler( + log_file, when='midnight', backupCount=7 + ) # Keeps logs for 7 days + file_handler.suffix = '%Y-%m-%d' # Append date to log file names + + # Define the log message format + formatter = logging.Formatter( + '%(asctime)s - %(name)s - %(levelname)s - %(message)s' + ) + file_handler.setFormatter(formatter) + + # Add the file handler to the logger + logger.addHandler(file_handler) + + return logger def main(): args = parse_command_line_args()