From caf642d5c530b558816ad6fbb5acee3bf2b9ebfb Mon Sep 17 00:00:00 2001 From: teddy Date: Tue, 10 Sep 2024 12:41:37 +0100 Subject: [PATCH] 1. Logging functionality added for internal server errors to aid diagnosis of live website bugs. --- __pycache__/app.cpython-312.pyc | Bin 3851 -> 5250 bytes app.log | 0 app.py | 24 +++++++++++++++++++++++- requirements.txt | 2 +- 4 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 app.log diff --git a/__pycache__/app.cpython-312.pyc b/__pycache__/app.cpython-312.pyc index b2d92a9d8eb15dd1424e7ea6d2698ef01fa026e5..8097bb1e5c1938c49d63ca6812719099728d48b9 100644 GIT binary patch delta 2249 zcmbtVO-vg{6rS1j`rpVY7>5*$6Tq-dg`fed5GP6rX;T;V2bx2z3Tw*@;EjLC>_Q1e zGKr#cNL7LMK%|JCdZ=U$skl@*_0S%w_D~B;MjI+|=p{Xo!ih>%XVz-33__5RK4xtd!8<(uD4{s{}WC;s8>C@KhtT8A~%y$+Y{X zd}PWkQ~qtrpismO2;GjqX8Di6r%-HPpBGN^ei7=m!)aAg#O!x zU}nxHO-*$s(i3rSI{;5uaYatIC#BheTPjv`*C*20jp?Z?>FJdEWRITLG4sqCF|!?G zF1y=wbp@!#A{&l8&BB5CV3I*_9+WrwzY`!%wU*dqvw=!FlNDCuCabhjYo_e%t~Nd6 zT=PP!_pmi5`Cmn{sJ;WbdgD?m)7=t8>$`K_5lm(< z30@^6P5Ogv%A9`~-<-yZ%9P6goYyo2k)%on)bk;c#xUy?ri$ELLvL4C@a>d}NlHot zE2+sj8i?r5=sfK^-AWs80ux=p?6stx+H@De$+U`N5<*0`Cb2r1M!HoQo5V@1JI1FI ziP)5+PU^NvEFnx3-9CZU7>h-BsHHe`=XjbVB{ha;$3#e8r^E_t+~EH8EBzl|SF{oL z`x)IAH$#jmM)t8{7;jJ@`+_O##4mu~Ew;tT?MT5=m$TIU>TCa|EpO@Gs$T5e@--HG z9XVeIove&5kCsKj7s~lUOph(c_FRGx+H(WJz8JY&!MWxyi05OWeb?u_fgz9z$t3!AOCv@TJ@bG)Xq>p(yY3a>NLU$V_G4X^|M(cLhHxu@KBA4l~ zZx1KaXgYx}kpxv)k(CwgJGbQi4Rk#Q-p8P38}RD^&pUABX$Nox?#Categ8q;`PPDM z6W9vCn*-h@|4P$xQyw&L0)EkX+gSj<9Plko2G8v`TDW@jO9My3yHlOGDV$e0T-vVC9x62FRhf$EM5I%#^zFrSiP^-^UA06DCF AAOHXW diff --git a/app.log b/app.log new file mode 100644 index 00000000..e69de29b diff --git a/app.py b/app.py index e63b6477..3b25b115 100644 --- a/app.py +++ b/app.py @@ -56,7 +56,9 @@ from flask_wtf.csrf import CSRFProtect from authlib.integrations.flask_client import OAuth import os import sys - +from logging.handlers import RotatingFileHandler +import traceback +import logging sys.path.insert(0, os.path.dirname(__file__)) # Todo: why? @@ -100,6 +102,26 @@ with app.app_context(): ) +# logging +handler = RotatingFileHandler('app.log', maxBytes=10000, backupCount=3) +handler.setLevel(logging.ERROR) +app.logger.addHandler(handler) + +@app.errorhandler(500) +def internal_server_error(error): + app.logger.error('Server Error: %s', (error)) + app.logger.error('Request: %s %s %s %s %s', + request.remote_addr, + request.method, + request.scheme, + request.full_path, + request.headers) + app.logger.error('Request data: %s', request.get_data()) + app.logger.error('Traceback: %s', traceback.format_exc()) + return "500 Internal Server Error", 500 + + + app.register_blueprint(routes_core) app.register_blueprint(routes_legal) app.register_blueprint(routes_store) diff --git a/requirements.txt b/requirements.txt index 002ef30f..fe8064e2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,5 +11,5 @@ stripe python_dotenv authlib pydantic -psycopg2 +# psycopg2