|
import logging |
|
import os |
|
from datetime import datetime |
|
|
|
|
|
logs_dir = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))), 'logs') |
|
if not os.path.exists(logs_dir): |
|
os.makedirs(logs_dir) |
|
|
|
|
|
def setup_logger(): |
|
""" |
|
Set up and configure the frontend error logger. |
|
""" |
|
|
|
logger = logging.getLogger('frontend_logger') |
|
logger.setLevel(logging.DEBUG) |
|
|
|
|
|
log_file = os.path.join(logs_dir, f'frontend_errors_{datetime.now().strftime("%Y%m%d")}.log') |
|
file_handler = logging.FileHandler(log_file) |
|
file_handler.setLevel(logging.DEBUG) |
|
|
|
|
|
console_handler = logging.StreamHandler() |
|
console_handler.setLevel(logging.ERROR) |
|
|
|
|
|
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s') |
|
file_handler.setFormatter(formatter) |
|
console_handler.setFormatter(formatter) |
|
|
|
|
|
logger.addHandler(file_handler) |
|
logger.addHandler(console_handler) |
|
|
|
return logger |
|
|
|
|
|
frontend_logger = setup_logger() |
|
|
|
def log_frontend_error(error_type: str, error_message: str, additional_info: dict = None): |
|
""" |
|
Log frontend errors with detailed information. |
|
|
|
Args: |
|
error_type (str): Type of error (e.g., 'Arrow Conversion', 'Model Training', etc.) |
|
error_message (str): The error message |
|
additional_info (dict, optional): Additional context about the error |
|
""" |
|
error_details = f"Type: {error_type}\nMessage: {error_message}" |
|
if additional_info: |
|
error_details += f"\nAdditional Info: {additional_info}" |
|
|
|
frontend_logger.error(error_details) |
|
|
|
def log_frontend_warning(warning_type: str, warning_message: str, additional_info: dict = None): |
|
""" |
|
Log frontend warnings with detailed information. |
|
|
|
Args: |
|
warning_type (str): Type of warning |
|
warning_message (str): The warning message |
|
additional_info (dict, optional): Additional context about the warning |
|
""" |
|
warning_details = f"Type: {warning_type}\nMessage: {warning_message}" |
|
if additional_info: |
|
warning_details += f"\nAdditional Info: {additional_info}" |
|
|
|
frontend_logger.warning(warning_details) |