首页 > 其他分享 >Flask设置logger日志模板

Flask设置logger日志模板

时间:2022-09-18 22:00:33浏览次数:70  
标签:__ name Flask flask import 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

 

标签:__,name,Flask,flask,import,logger,日志
From: https://www.cnblogs.com/Zzbj/p/16701972.html

相关文章

  • MySQL的日志模块
    一、redologMySQL里经常说到的WAL技术,WAL的全称是Write-AheadLogging,它的关键点就是先写日志,再写磁盘。(“先写日志”也是先写磁盘,只是写日志是顺序写盘,速度很快......
  • SQL2008至SQL2019缩小日志
    USEabframeworkf2DECLARE@LogFileLogicalNamesysnameSELECT@LogFileLogicalName=NameFROMsys.database_filesWHEREType=1PRINT@LogFileLogicalNameDBCCSHRINK......
  • mysql的binlog,MySQL日志详解
    什么是binlogbinlog介绍-芹溪-博客园(cnblogs.com) mysql的binlog开启方式,查看方式.三种binlog模式介绍.以及使用binlog恢复数据.删除binlog(75条消息)MySQL日......
  • docker容器 日志迁移
    起因docker安装网心云(挂载在外置硬盘上),这两天莫名其妙把我nas中的硬盘给跑满了,通过搜索后发现,这是docker容器运行时产生的日志文件,默认保存在系统/var/lib/docker目录......
  • MySQL备份与日志
    MySQL日志管理事务日志innodb_log##事务日志执行逻辑:1.想要修改表,update操作,磁盘内先加载到内存中要执行2.在内存中执行完update3.结果先写入到事务日志,这一条操作确......
  • TransmittableThreadLocal和@Async优雅的记录操作日志
    此文主要讲解:如何实现操作记录如何将TransmittableThreadLocal和@Async搭配使用TransmittableThreadLocal阿里的一个开源组件,为了在使用线程池等会池化复用线程的执行......
  • Logstash深入收集Nginx日志
    Logstash深入收集Nginx日志安装nginx[root@elkstack03~]#yuminstall-ynginx##主配置文件[root@elkstack03~]#cat/etc/nginx/nginx.confusernginx;worker......
  • Logstash深入收集Java日志
    Logstash深入收集Java日志没有修改Json格式在企业中,我们看到tomcat日志遇到异常(exception)一条日志可能是几行或者十几行甚至几十行,组成的,那么,我们需要将多行日志变成......
  • springboot的日志配置
    转载:https://blog.csdn.net/tz845195485/article/details/123361895#========================logging日志相关的配置=====================#日志级别trace<debug<inf......
  • LINUX系统中查询Oracle数据库的归档日志目录
    注:查询Linux系统中Oracle数据库的归档日志方法,不同的安装目录使用不同的方法,一下有两种方式,其中一种是我目前使用的数据库未查到归档才换的第二种方式。-----方式一:查询数......