Flask设置logger日志模板
logger日志模板
"""flask设置logger日志统一目录: Myapp/utils/logger.py""" import logging from logging.handlers import RotatingFileHandler class Logger(object): @staticmethod def get_logger(name): # 这个name就是下面 fmt_str 日志格式中name显示的名称 return logging.getLogger(name) @staticmethod def init_logger(log_path, log_level=logging.INFO): """初始化日志模块,并设置日志保存路径""" logger = logging.getLogger('') fmt_str = '[%(asctime)s][%(name)s][line:%(lineno)d]' \ '[%(levelname)s] %(message)s' file_handler = RotatingFileHandler(filename=log_path, maxBytes=1024 * 1024 * 10, backupCount=10, encoding='utf-8') formatter = logging.Formatter(fmt_str) file_handler.setFormatter(formatter) logger.addHandler(file_handler) logger.setLevel(log_level) """flask_manager.py""" from flask import Flask from Myapp.utils.logger import Logger app = Flask(__name__) if __name__ == '__main__': # 初始化日志 Logger.init_logger("/tmp/logs/flask_logs.log") # 在需要使用的地方(不限于启动文件),实例化logger即可 flask_logger = Logger.get_logger("flask_service") flask_logger.info("flask start!") app.run() """Myapp/views/test.py""" import json from flask import request, views, jsonify, make_response from Myapp.utils.logger import Logger class Test(views.MethodView): methods = ["POST"] def post(self): data = json.loads(request.data) id = data.get("id", None) logger = Logger.get_logger(str(id)) logger.info("正在处理!") response = {"result": "success"} resp = make_response(jsonify(response)) return resp