import logging
import time, os
from logging.handlers import TimedRotatingFileHandler, RotatingFileHandler
# 创建访问日志Logconf.py
def config_log():
strftime = time.strftime("%Y%m%d", time.localtime())
# 当前目录
base_dir = os.path.abspath(os.path.join(os.getcwd(), "."))
# logs目录
log_dir = (os.path.join(base_dir, "logs"))
# 存放日志的文件名,用时间作为日志格式
file_name = (os.path.join(log_dir, strftime + ".log"))
#file_name = (os.path.join('d:\logs\\'+strftime+".log"))
# 设置日志的记录等级
logging.basicConfig(level=logging.INFO) # 调试debug级
# 创建日志记录器,指明日志保存的路径、每个日志文件的最大大小、保存的日志文件个数上限
file_log_handler = TimedRotatingFileHandler(file_name, when="D", interval=1, backupCount=15, encoding='utf-8',
delay=False, utc=True)
# 创建日志记录的格式 日志等级 输入日志信息的文件名 行数 日志信息
formatter = logging.Formatter('%(levelname)s %(filename)s %(lineno)d %(message)s')
# 为刚创建的日志记录器设置日志记录格式
file_log_handler.setFormatter(formatter)
# 为全局的日志工具对象(flask app使用的)添加日志记录器
logging.getLogger().addHandler(file_log_handler)
# app启用日志
from flask import Flask
from conf.Logconf import config_log
def create_app():
app = Flask(__name__, static_folder='../static', template_folder='../templates')
# 开启日志记录
config_log()
# config_map.get(config_name) 字典方式获取配置文件
#app.config.from_object(set_config)
# 初始化csrf
#csrf.init_app(app)
# 初始化db
#db.init_app(app)
# 初始化session
#session.init_app(app)
# 注册蓝图
#from ihome.fornt.views import api_bp
#app.register_blueprint(api_bp, url_prefix="/api/v1-0")
return app
# 蓝图中记录报错到日志
from flask import current_app
api_bp = Blueprint("api_bp",__name__)
@api_bp.route('/index')
def index():
current_app.logger.error('error')
return "测试启用日志保存功能"
flask日志记录
最新推荐文章于 2023-11-26 17:42:52 发布