log file added
This commit is contained in:
69
main.py
69
main.py
@@ -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"])
|
||||
|
||||
Reference in New Issue
Block a user