log file added

This commit is contained in:
Swapnil9693
2026-02-17 15:25:57 +05:30
parent b8c289294d
commit 684e41e5c3
7 changed files with 228 additions and 32 deletions

69
main.py
View File

@@ -1,8 +1,7 @@
from flask import Flask, render_template, request, redirect, url_for, send_from_directory, abort, flash,send_file ,jsonify
from flask import Flask, render_template, request, redirect, url_for, flash,send_file ,jsonify, session
import os
from dotenv import load_dotenv
from dotenv import load_dotenv
load_dotenv()
import pandas as pd
from werkzeug.utils import secure_filename
from datetime import date
from AppCode.Config import DBConfig
@@ -15,7 +14,6 @@ from AppCode.AOHandler import AOHandler
from AppCode.CITHandler import CITHandler
from AppCode.ITATHandler import ITATHandler
from AppCode.MatCreditHandler import MatCreditHandler
import subprocess
@@ -23,10 +21,51 @@ import subprocess
app = Flask(__name__)
app.secret_key=os.getenv("SECRET_KEY")
import logging
import sys
# Remove default handlers
if not os.path.exists("logs"):
os.mkdir("logs")
file_handler = logging.FileHandler("logs/app.log")
file_handler.setLevel(logging.INFO)
stream_handler = logging.StreamHandler()
stream_handler.setLevel(logging.INFO)
formatter = logging.Formatter(
"%(asctime)s | %(levelname)s | User:%(user)s | %(message)s"
)
file_handler.setFormatter(formatter)
stream_handler.setFormatter(formatter)
app.logger.setLevel(logging.INFO)
app.logger.addHandler(file_handler)
app.logger.addHandler(stream_handler)
auth = LoginAuth()
app.register_blueprint(auth.bp)
@app.before_request
def log_user_activity():
if request.endpoint and "static" not in request.endpoint:
user = session.get("user", "Anonymous")
ip = request.remote_addr
app.logger.info(
f"Accessed: {request.method} {request.path}",
extra={"user": user}
)
# welcome page
@app.route('/')
@auth.login_required
@@ -590,6 +629,28 @@ def summary_preview_route():
handler = DocumentHandler()
return handler.Summary_preview(request)
@app.route("/view_logs", methods=["GET", "POST"])
@auth.login_required
def view_logs():
secret = os.getenv("LOG_VIEW_SECRET")
if request.method == "POST":
entered = request.form.get("secret")
if entered != secret:
flash("Invalid secret!", "danger")
return render_template("view_logs_auth.html")
try:
with open("logs/app.log", "r") as f:
logs = f.readlines()
except FileNotFoundError:
logs = ["Log file not found"]
return render_template("view_logs.html", logs=logs)
return render_template("view_logs_auth.html")
# save mat credit bulk data
# @app.route("/save_mat_all", methods=["POST"])