zoukankan      html  css  js  c++  java
  • python loger 模板

    一、python loger 模板

    def init_logger(app_flask):
        log_conf_dir = {
            "version": 1,
            "disable_existing_loggers": False,
            "formatters": {
                "standard": {
                    # 其中name为getlogger指定的名字
                    "format": "[%(asctime)s][%(threadName)s:%(thread)d][%(name)s][%(filename)s:%(lineno)d][%(levelname)s] %(message)s"
                }
            },
            "filters": {},
            "handlers": {
                # 打印到终端的日志
                "console": {
                    "level": "DEBUG",
                    # 打印到屏幕
                    "class": "logging.StreamHandler",
                    "formatter": "standard",
                },
                # 打印到文件的日志,收集info及以上的日志
                "default": {
                    "level": "INFO",
                    # 保存到文件
                    "class": "logging.handlers.RotatingFileHandler",
                    "formatter": "standard",
                    "filename": LOG_FILE_NAME,
                    # 日志大小 5M
                    "maxBytes": 1024 * 1024 * 5,
                    "backupCount": 5,
                    "encoding": "utf-8",
                },
                # 打印到文件的日志:收集错误及以上的日志
                "error": {
                    "level": "ERROR",
                    "class": "logging.handlers.RotatingFileHandler",
                    "filename": LOG_ERROR_FILE_NAME,
                    "maxBytes": 1024 * 1024 * 5,
                    "backupCount": 5,
                    "formatter": "standard",
                    "encoding": "utf-8",
                },
            },
            "loggers": {
                # logging.getLogger(__name__)拿到的logger配置
                app_name: {
                    "handlers": [
                        "default",
                        "console",
                        "error",
                    ],
                    "level": LOG_LEVEL,
                    # True 向上(更高level的logger)传递
                    "propagate": False,
                },
                # werkzeug 底层的日志
                "werkzeug": {
                    "handlers": [
                        "default",
                        "console",
                        "error",
                    ],
                    "level": "ERROR",
                    "propagate": False,
                },
            },
        }
        dictConfig(log_conf_dir)
    
    ``def init_logger(app_flask): log_conf_dir = { "version": 1, "disable_existing_loggers": False, "formatters": { "standard": { # 其中name为getlogger指定的名字 "format": "[%(asctime)s][%(threadName)s:%(thread)d][%(name)s][%(filename)s:%(lineno)d][%(levelname)s] %(message)s" } }, "filters": {}, "handlers": { # 打印到终端的日志 "console": { "level": "DEBUG", # 打印到屏幕 "class": "logging.StreamHandler", "formatter": "standard", }, # 打印到文件的日志,收集info及以上的日志 "default": { "level": "INFO", # 保存到文件 "class": "logging.handlers.RotatingFileHandler", "formatter": "standard", "filename": LOG_FILE_NAME, # 日志大小 5M "maxBytes": 1024 * 1024 * 5, "backupCount": 5, "encoding": "utf-8", }, # 打印到文件的日志:收集错误及以上的日志 "error": { "level": "ERROR", "class": "logging.handlers.RotatingFileHandler", "filename": LOG_ERROR_FILE_NAME, "maxBytes": 1024 * 1024 * 5, "backupCount": 5, "formatter": "standard", "encoding": "utf-8", }, }, "loggers": { # logging.getLogger(__name__)拿到的logger配置 app_name: { "handlers": [ "default", "console", "error", ], "level": LOG_LEVEL, # True 向上(更高level的logger)传递 "propagate": False, }, # werkzeug 底层的日志 "werkzeug": { "handlers": [ "default", "console", "error", ], "level": "ERROR", "propagate": False, }, }, } dictConfig(log_conf_dir)
  • 相关阅读:
    codevs 1202 求和
    codevs 1201 最小数和最大数
    nyist 240 小明的调查统计(二)
    nyist28大数阶乘
    nyist 626 intersection set
    【】小技巧】CSS文字两端对齐
    Vue.js项目模板搭建
    25个最基本的JavaScript面试问题及答案
    java抽象类与接口的区别及用法
    JQuery事件手册
  • 原文地址:https://www.cnblogs.com/Klay/p/15760239.html
Copyright © 2011-2022 走看看