From 6b2469778f52462daf1e10136faf11b5f819eb5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Gruszczy=C5=84ski?= Date: Sat, 26 Jul 2025 22:45:04 +0200 Subject: [PATCH] logi --- app.py | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/app.py b/app.py index 2c70b25..135d89b 100644 --- a/app.py +++ b/app.py @@ -618,13 +618,26 @@ def require_system_password(): fixed_url = urlunparse(parsed._replace(netloc=request.host)) return redirect(url_for("system_auth", next=fixed_url)) + +@app.before_request +def start_timer(): + request._start_time = time.time() + + @app.after_request def log_request(response): - log_msg = f"{request.remote_addr} - - [{request.method}] {request.path} {response.status_code}" - if app.debug: - app.logger.debug(log_msg) - else: - app.logger.info(log_msg) + forwarded_for = request.headers.get("X-Forwarded-For", request.remote_addr) + client_ip = forwarded_for.split(",")[0].strip() + method = request.method + path = request.path + status = response.status_code + length = response.content_length or "-" + duration = round((time.time() - request._start_time) * 1000, 2) + user_agent = request.headers.get("User-Agent", "-") + log_msg = ( + f"{client_ip} - \"{method} {path}\" {status} {length} {duration}ms \"{user_agent}\"" + ) + app.logger.info(log_msg) return response