File size: 1,700 Bytes
71c6bbf |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
import logging
from flask import render_template, request
# Set up logging for errors
logger = logging.getLogger(__name__)
logger.setLevel(logging.ERROR)
# File handler for logging errors to a file
file_handler = logging.FileHandler('app_error.log')
file_handler.setLevel(logging.ERROR)
file_formatter = logging.Formatter('%(asctime)s %(levelname)s: %(message)s')
file_handler.setFormatter(file_formatter)
logger.addHandler(file_handler)
# Console handler for logging errors to the terminal
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.ERROR)
console_formatter = logging.Formatter('%(asctime)s %(levelname)s: %(message)s')
console_handler.setFormatter(console_formatter)
logger.addHandler(console_handler)
# 404 Error Handler
def page_not_found(e):
logger.error(f"404 Error: {request.url}")
return render_template('404.html'), 404
# 500 Error Handler
def internal_server_error(e):
logger.error(f"500 Error: {e}, URL: {request.url}")
return render_template('500.html'), 500
# File Not Found Error Handler
def handle_file_not_found():
logger.error("File not found.")
return render_template('error.html', message="The file you are looking for does not exist."), 404
# Invalid File Type Error Handler
def handle_invalid_file_type():
logger.error("Invalid file type.")
return render_template('error.html', message="Invalid file type. Allowed types: pdf, docx, rsf, odt, png, jpg, jpeg."), 400
# File Processing Error Handler
def handle_file_processing_error():
logger.error("File processing failed.")
return render_template('error.html', message="Failed to process the file."), 500
|