Flask框架的日志配置


日志配置

logs/logs.py
logs/flask.log

import os
import logging
from logging.handlers import RotatingFileHandler

# 獲取當前絕對路徑
def get_cwd():
    return os.path.dirname(os.path.abspath(__file__))

def log_config():
    # 設置日志的的登記
    logging.basicConfig(level=logging.DEBUG)

    # 日志輸出目錄
    log_path = os.path.join(get_cwd(),'flask.log')
    # 創建日志記錄器,設置日志的保存路徑和每個日志的大小和日志的總大小
    file_log_handler = RotatingFileHandler(log_path, encoding='UTF-8', maxBytes=1024*1024*100,backupCount=100)
    # 創建日志記錄格式,日志等級,輸出日志的文件名 行數 日志信息
    # formatter = logging.Formatter("%(levelname)s %(asctime)s [%(filename)s]: %(lineno)s - %(funcName)s - %(message)s")
    formatter = logging.Formatter("%(levelname)s %(asctime)s [%(filename)s]: %(lineno)s - %(funcName)s - %(message)s")
    # 為日志記錄器設置記錄格式
    file_log_handler.setFormatter(formatter)
    # 為全局的日志工具對象(flaks app使用的)加載日志記錄器
    logging.getLogger().addHandler(file_log_handler)

log使用

在manager.py中創建app前導入logs.py

manager.py

from flask import Flask
from flask_script import Manager
from logs.logs import log_config
import logging

log_config()#創建app前設置日志

app = Flask(__name__)
# 裝載配置
app.debug = config.DEBUG

manager = Manager(app)

# 設置登錄view為user模塊的login
login_manager.login_view = 'user.login'
login_manager.init_app(app)

# 注冊路由
app.register_blueprint(user, url_prefix='/user')

# 測試log
logging.debug("測試debug日志")
logging.info("測試info日志")
logging.warning("測試warning日志")
logging.error("測試error日志")

if __name__ == '__main__':
    manager.run()

其他項目中使用

例如apps/user/views.py

from flask import Blueprint
import logging

user = Blueprint('user', __name__)

@user.route('/login')
def login():
  logging.debug("測試debug日志")
  logging.info("測試info日志")
  logging.warning("測試warning日志")
  logging.error("測試error日志")


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM