方法一,直接使用loggin 模块
import logging
from flask import Flask
from flask_cors import CORS
from flask_sqlalchemy import SQLAlchemy
import config
# 创建db
db = SQLAlchemy()
# 设置
logger = logging.getLogger('gunicorn.info')
handler = logging.FileHandler('test.log', encoding='UTF-8') # 设置日志字符集和存储路径名字
logging_format = logging.Formatter( # 设置日志格式
'%(asctime)s - %(levelname)s - %(filename)s - %(funcName)s - %(lineno)s - %(message)s')
handler.setFormatter(logging_format) # 绑定格式
logger.addHandler(handler)
logger.setLevel(logging.ERROR)
def create_app():
app = Flask(__name__)
app.config.from_object(config)
CORS(app, resources=r'/*')
db.init_app(app)
from . import myRoutes
myRoutes.register(app)
return app
APP = create_app()
使用
from app.model.user import Users
from app.utils.errcode import ReturnValue
from app import dash
def index():
dash.logger.error('info log')
users = Users.query.filter().first()
return ReturnValue.set_value(success=False, status="no_login", data=users.username)
文件内容:

方法二, 结合flask 的logger
import logging
from flask import Flask
from flask_cors import CORS
from flask_sqlalchemy import SQLAlchemy
import config
# 创建db
db = SQLAlchemy()
def create_app():
app = Flask(__name__)
app.config.from_object(config)
CORS(app, resources=r'/*')
db.init_app(app)
# handler = logging.FileHandler('flask.log')
handler = logging.FileHandler('flask.log', encoding='UTF-8') # 设置日志字符集和存储路径名字
logging_format = logging.Formatter( # 设置日志格式
'%(asctime)s - %(levelname)s - %(filename)s - %(funcName)s - %(lineno)s - %(message)s')
handler.setFormatter(logging_format)
app.logger.addHandler(handler)
from . import myRoutes
myRoutes.register(app)
return app
APP = create_app()
使用:
from app.model.user import Users
from app.utils.errcode import ReturnValue
from app import dash
def index():
dash.APP.error('info log')
users = Users.query.filter().first()
return ReturnValue.set_value(success=False, status="no_login", data=users.username)