耿直boy6

配置日志系统

django框架logging配置

配置setting

LOGGING = {
    'version': 1,
    'disable_existing_loggers': True,
    'formatters':{
        "generic": {
            "format": "%(asctime)s [%(process)d] [%(levelname)s] %(message)s",
            "datefmt": "[%Y-%m-%d %H:%M:%S %z]",
            "class": "logging.Formatter"
        },
        "access": {
            "format": "%(message)s",
            "class": "logging.Formatter"
        }
    },
    'loggers': {
        "AuthCert.error": {
            "level": "INFO",
            "handlers": ["error_file"],
            "propagate": 1,
            "qualname": "AuthCert.error"
        },
        "AuthCert.access": {
            "level": "INFO",
            "handlers": ["access_file"],
            "propagate": 0,
            "qualname": "AuthCert.access"
        }
    },
    'handlers': {
        "console": {
            "class": "logging.StreamHandler",
            "formatter": "generic",
            "stream": "sys.stdout"
        },
        "error_file": {
            "class": "logging.FileHandler",
            "formatter": "generic",
            "filename": "./log/error.log"
        },
        "access_file": {
            "class": "logging.handlers.RotatingFileHandler",
            "maxBytes": 1024 * 1024,
            "backupCount": 5,
            "formatter": "generic",
            "filename": "./log/acess.log",
        }
    },
}
settings.py

 

配置函数

import logging
logger = logging.getLogger('AuthCert.error')

 

写日志

logger.info('增加用户成功')
logger.info('success')

效果

error可以看见所有的日志信息

 Flask框架logging项目配置--方式一

配置loggin

#逻辑代码中配置
 1 import logging 
 2 
 3 # 1、创建一个logger 
 4 logger = logging.getLogger('mylogger') 
 5 logger.setLevel(logging.DEBUG) 
 6 
 7 # 2、创建一个handler,用于写入日志文件 
 8 fh = logging.FileHandler('log.log') 
 9 fh.setLevel(logging.DEBUG) 
10 
11 # 再创建一个handler,用于输出到控制台 
12 ch = logging.StreamHandler() 
13 ch.setLevel(logging.DEBUG) 
14 
15 # 3、定义handler的输出格式(formatter)
16 formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') 
17 
18 # 4、给handler添加formatter
19 fh.setFormatter(formatter) 
20 ch.setFormatter(formatter) 
21 
22 # 5、给logger添加handler 
23 logger.addHandler(fh) 
24 logger.addHandler(ch)
# 获取当前登录用户总数
def get_user_count():
    sql = "SELECT ID, user_login FROM wp_users GROUP BY ID"
    id_list = []
    try:
        cursor = db.cursor()
        cursor.execute(sql)
        results = cursor.fetchall()# 获取用户信息for row in results:
            id = row[0]
            id_list.append(id)
        idlist = set(id_list)
        id_list = list(idlist)
        logger.info('success get_user_count')
        return len(id_list)
    except Exception as e:
        logger.error(str(e))
        return id_list

访问项目

在文件目录生产了log.log文件

 

 Flask框架logging项目配置--方式二

 

#__init__.py
import logging # 配置日志信息 # 创建日志记录器,指明日志保存的路径、每个日志文件的最大大小、保存的日志文件个数上限 file_log_handler = RotatingFileHandler("logs/log", maxBytes=1024*1024*100, backupCount=10) # 创建日志记录的格式 日志等级 输入日志信息的文件名 行数 日志信息 formatter = logging.Formatter('%(levelname)s %(filename)s:%(lineno)d %(message)s') # 为刚创建的日志记录器设置日志记录格式 file_log_handler.setFormatter(formatter) # 为全局的日志工具对象(flask app使用的)添加日记录器 logging.getLogger().addHandler(file_log_handler) # 设置日志的记录等级 logging.basicConfig(level=logging.DEBUG) # 调试debug级

  

# demo.py

# import logging
from flask import current_app


@api.route("/index")
def index():
    #print("hello")
    # logging.error()   # 记录错误信息
    # logging.warn()   # 警告
    # logging.info()   # 信息
    # logging.debug()   # 调试
    current_app.logger.error("error info")
    current_app.logger.warn("warn info")
    current_app.logger.info("info info")
    current_app.logger.debug("debug info")
    return "index page"

  

posted on 2019-04-12 18:15  猫巴  阅读(253)  评论(0编辑  收藏  举报

导航

原文:https://www.cnblogs.com/djfboai/ 版权声明:本文为博主原创文章,转载请附上博文链接!