Django项目添加日志

给Django项目添加日志,需要在settings.py及views.py页面进行设置。

settings.py页面,添加代码:

BASE_LOG_DIR = os.path.join(BASE_DIR, "log")
LOGGING = {
    'version': 1,  # 保留字
    'disable_existing_loggers': False,  # 禁用已经存在的logger实例
    # 日志文件的格式
    'formatters': {
        # 详细的日志格式
        'standard': {
            #  "format": "%(asctime)s - %(message)s",
            'format': '日志级别:{levelname},生成时间: {asctime} ,模块:{module} ,进程:{process:d},'
                      '线程:{thread:d} , 消息:{message}',
            'style': '{',
        },
    },
    # 过滤器
    'filters': {
        'require_debug_true': {
            '()': 'django.utils.log.RequireDebugTrue',
        },
    },
    # 处理器
    'handlers': {
        # 默认的
        'default': {
            'level': 'INFO',
            'class': 'logging.handlers.RotatingFileHandler',  # 保存到文件,自动切
            'filename': os.path.join(BASE_LOG_DIR, "message.log"),  # 日志文件
            'maxBytes': 1024 * 1024 * 50,  # 日志大小 50M
            'backupCount': 3,  # 最多备份几个
            'formatter': 'standard',
            'encoding': 'utf-8',
        },

    },
    'loggers': {
        # 默认的logger应用如下配置
        '': {
            'handlers': ['default'],  # 上线之后可以把'console'移除
            'level': 'WARNING',
            'propagate': True,  # 向不向更高级别的logger传递
        },
    },
}

这里的loggers是整个日志配置的起点,负责配置日志级别及对应的处理器,并且还可以设置是否向更高级logger传递等。

另外,如果想更自动化些,可以在settings.py中添加如下代码:

if not os.path.exists(BASE_LOG_DIR):
    os.mkdir(BASE_LOG_DIR)

让系统在运行时自动创建日志文件夹

然后在views.py文件添加:

import logging
# 生成一个名为collect的logger实例
logger = logging.getLogger(__name__)

在具体的方法中也可以添加日志记录代码:logger.error('sdsdfsdfsdfsd')。

然后打开日志文件即可看到日志信息。

文章出处:www.cnblogs.com/jizhong

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。否则保留追究法律责任的权利。

原文地址:https://www.cnblogs.com/jizhong/p/15133485.html