diff --git a/main.py b/main.py index 2fa0fad..a65b43d 100644 --- a/main.py +++ b/main.py @@ -1,10 +1,20 @@ import os +import logging import subprocess from flask import Flask, request, jsonify app = Flask(__name__) WEBBUMP_DIR = "/etc/webbump" +LOG_FILE = "/var/log/webbump.log" + +logging.basicConfig( + filename=LOG_FILE, + level=logging.INFO, + format="%(asctime)s [%(levelname)s] %(message)s", +) +logger = logging.getLogger(__name__) + @app.route('/status', methods=['GET']) def status(): @@ -15,13 +25,13 @@ def status(): def gitea_webhook(): data = request.json if not data: - print("Received webhook without JSON") + logger.error("Received webhook without JSON") return jsonify({"error": "Invalid JSON"}), 400 # Repository name repo_name = data.get("repository", {}).get("name") if not repo_name: - print("Could not get Repository name from JSON") + logger.error("Could not get Repository name from JSON") return jsonify({"error": "Repository name not found"}), 400 # Determine event type from header @@ -45,7 +55,7 @@ def gitea_webhook(): try: subprocess.run([script_path, *args], check=True) except subprocess.CalledProcessError as e: - print(repo_name + " " + script_name + " script failed with exit code: " + e) + logger.error(repo_name + " " + script_name + " script failed with exit code: " + e) return jsonify({"error": f"Script failed: {e}"}), 500 return jsonify({"message": f"Executed {script_path}"}), 200