survey-extraction/etl/utils/logger.py
2025-05-27 12:12:46 +00:00

33 lines
1,016 B
Python

import logging
import os
class Logger:
def __init__(self, name, level=logging.INFO, log_file='app.log'):
self.logger = logging.getLogger(name)
self.logger.setLevel(level)
self.log_file = log_file
# ✅ Prevent adding multiple handlers
if not self.logger.handlers:
# Console handler
c_handler = logging.StreamHandler()
c_handler.setLevel(level)
# File handler
f_handler = logging.FileHandler(log_file)
f_handler.setLevel(level)
# Formatter
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
c_handler.setFormatter(formatter)
f_handler.setFormatter(formatter)
# Add handlers to the logger
self.logger.addHandler(c_handler)
self.logger.addHandler(f_handler)
def get_logger(self):
return self.logger
def get_log_file_path(self):
return self.log_file