import os from flask import Blueprint, render_template, send_from_directory, current_app from app.log import Log log_list_bp = Blueprint('log_list_bp', __name__) basedir = os.path.abspath(os.path.dirname(__file__)) logs_dir = os.path.join(basedir, '../logs') @log_list_bp.route('/logs', methods=['GET', 'POST']) def log_list(): if current_app.config['PRODUCTION_CONFIG']: return 'no log on production' names = os.listdir(logs_dir) files = {} for name in names: path = os.path.join('/logs', name) Log.logger().info("list log file:%s", path) files.update({name: path}) return render_template('log_list.html', files=files) @log_list_bp.route('/logs/<filename>') def download(filename): Log.logger().info("send file:%s:%s", logs_dir, filename) return send_from_directory(logs_dir, filename)