From 2748b7583edc4dae984c1dacd90777fe2bb301da Mon Sep 17 00:00:00 2001 From: SimolZimol <70102430+SimolZimol@users.noreply.github.com> Date: Tue, 3 Sep 2024 13:09:19 +0200 Subject: [PATCH] modified: app.py modified: templates/logs.html --- app.py | 31 ++++++++++++++++++++++++++++++- templates/logs.html | 39 ++++++++++++++++++--------------------- 2 files changed, 48 insertions(+), 22 deletions(-) diff --git a/app.py b/app.py index 5a79fb7..09aecab 100644 --- a/app.py +++ b/app.py @@ -1,12 +1,15 @@ -from flask import Flask, render_template, redirect, url_for, request, session +from flask import Flask, render_template, redirect, url_for, request, session, jsonify, send_file import os import subprocess import psutil import mysql.connector +from datetime import datetime app = Flask(__name__) app.secret_key = os.getenv("FLASK_SECRET_KEY", "default_secret_key") +LOG_FILE_PATH = os.path.join("logs", f"{datetime.now().strftime('%Y-%m-%d')}.log") + # Verwende Umgebungsvariablen aus Coolify für die Datenbankverbindung DB_HOST = os.getenv("DB_HOST") DB_PORT = os.getenv("DB_PORT") @@ -138,5 +141,31 @@ def users(): return render_template("users.html", users=users) return redirect(url_for("login")) +@app.route("/logs") +def view_logs(): + """Zeigt die Logs des Bots im Admin-Panel an.""" + if "username" in session: + return render_template("logs.html") + return redirect(url_for("login")) + +@app.route("/get_logs") +def get_logs(): + """Liest den Inhalt der Log-Datei und gibt ihn zurück.""" + if "username" in session: + try: + with open(LOG_FILE_PATH, 'r', encoding='utf-8') as file: + logs = file.read() + return jsonify({"logs": logs}) + except FileNotFoundError: + return jsonify({"logs": "Log file not found."}) + return redirect(url_for("login")) + +@app.route("/download_logs") +def download_logs(): + """Bietet die Log-Datei zum Download an.""" + if "username" in session: + return send_file(LOG_FILE_PATH, as_attachment=True) + return redirect(url_for("login")) + if __name__ == "__main__": app.run(host="0.0.0.0", port=5000, debug=True) diff --git a/templates/logs.html b/templates/logs.html index ac4e0bc..2710300 100644 --- a/templates/logs.html +++ b/templates/logs.html @@ -5,34 +5,31 @@ Bot Logs -

Bot Logs

-
-

Live Logs

-

+        
+
+ + Download Logs +

+                Back to Dashboard
+            
-
-

Log Files

-
    - {% for log_file in log_files %} -
  • - {{ log_file }} -
  • - {% endfor %} -
-
- Back to Dashboard
+ +