falsk 配置日誌 +跨域
阿新 • • 發佈:2021-08-10
參照部落格https://www.cnblogs.com/meloncodezhang/p/11922804.html
1 這是我的目錄
1 config /config.py
import logging class Config(object): # 設定日誌等級 LOG_LEVEL = logging.DEBUG class DevelopConfig(Config): """開發環境下的配置""" DEBUG = True class ProductConfig(Config): """生成環境下的配置""" DEBUG = False LOG_LEVEL = logging.WARNING class TestConfig(Config): """測試環境下的配置""" DEBUG = True TESTING = True config = { "development": DevelopConfig, "production": ProductConfig, "testing": TestConfig, }
2 log/log.py
import logging from logging.handlers import RotatingFileHandler from flask import Flask from config.config import config def setup_log(config_name): """ :param config_name: 傳入日誌等級 :return: """ # 設定日誌的的登記 logging.basicConfig(level=config[config_name].LOG_LEVEL) # 建立日誌記錄器,設定日誌的儲存路徑和每個日誌的大小和日誌的總大小 file_log_handler = RotatingFileHandler("log/log.log", maxBytes=1024*1024*100,backupCount=100, encoding='utf-8') # 建立日誌記錄格式,日誌等級,輸出日誌的檔名 行數 日誌資訊 formatter = logging.Formatter("%(levelname)s %(filename)s: %(lineno)d %(message)s") # 為日誌記錄器設定記錄格式 file_log_handler.setFormatter(formatter) # 為全域性的日誌工具物件(flaks app使用的)載入日誌記錄器 logging.getLogger().addHandler(file_log_handler) def create_app(config_name): """ :param config_name: info bug error :return: """ # 建立app例項前先配置好日誌檔案 setup_log(config_name) # 建立app例項物件 app = Flask(__name__) # 例項物件從配置檔案中載入配置 app.secret_key = 'wertyui234567gf!@#$%^&*(' from flask_cors import CORS # 跨域 CORS(app, supports_credentials=True) app.config.from_object(config[config_name]) # 這裡直接拿到的是類的名字,也就是引用 return app
3 主目錄檔案app
from log.log import create_app, setup_log #配置日誌 from config.config import Config import logging from flask import Flask, views, render_template, send_file, request, session,current_app app = create_app("development")
4 測試
@app.route("/") def index(): logging.debug("測試列印日誌") # logging.warning("測試列印日誌") # logging.error("測試列印日誌") return "index page"