|
import logging |
|
from flask import render_template, request |
|
|
|
|
|
logger = logging.getLogger(__name__) |
|
logger.setLevel(logging.ERROR) |
|
|
|
|
|
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 = 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) |
|
|
|
|
|
def page_not_found(e): |
|
logger.error(f"404 Error: {request.url}") |
|
return render_template('404.html'), 404 |
|
|
|
|
|
def internal_server_error(e): |
|
logger.error(f"500 Error: {e}, URL: {request.url}") |
|
return render_template('500.html'), 500 |
|
|
|
|
|
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 |
|
|
|
|
|
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 |
|
|
|
|
|
def handle_file_processing_error(): |
|
logger.error("File processing failed.") |
|
return render_template('error.html', message="Failed to process the file."), 500 |
|
|