欢迎来到Cecilia陈的博客

孤独,是人一生最好的修行。

18 配置logger日志模块

配置日志

可以参考https://docs.djangoproject.com/zh-hans/2.2/topics/

我们现在就配下面的这个:配置在settings.dev配置文件中

配置完以后,重新启动,就会自动有logs文件了

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'verbose': {
            'format': '%(levelname)s %(asctime)s %(module)s %(lineno)d %(message)s'
        },
        'simple': {
            'format': '%(levelname)s %(module)s %(lineno)d %(message)s'
        },
    },
    'filters': {
        'require_debug_true': {
            '()': 'django.utils.log.RequireDebugTrue',
        },
    },
    'handlers': {
        'console': {
            'level': 'DEBUG',
            'filters': ['require_debug_true'],
            'class': 'logging.StreamHandler',
            'formatter': 'simple'
        },
        # 往文件种打印
        'file': {
            # 实际开发建议使用WARNING以上的级别,如果太低了,就连用户访问都记录的化,不利于开发测试
            'level': 'INFO',
            'class': 'logging.handlers.RotatingFileHandler',
            # 日志位置,日志文件名,日志保存目录必须手动创建,注:这里的文件路径要注意BASE_DIR代表的是小luffyapi
            'filename': os.path.join(os.path.dirname(BASE_DIR), "logs", "luffy.log"),
            # 日志文件的最大值,这里我们设置300M
            'maxBytes': 300 * 1024 * 1024,
            # 日志文件的数量,设置最大日志数量为10
            'backupCount': 10,
            # 日志格式:详细格式
            'formatter': 'verbose',
            # 文件内容编码
            'encoding': 'utf-8'
        },
    },
    # 日志对象
    'loggers': {
        'django': {
            # django默认的是往控制台种打的,现在,我们需要让他往文件中打,
            # 因为对于测试来说很重要,
            'handlers': ['console', 'file'],
            'propagate': True, # 是否让日志信息继续冒泡给其他的日志处理系统
        },
    }
}

二次封装logger

# 测试脚本文件中
# 在任何文件中使用logger,都可以导入dev中配置的logging
# import logging
# logger = logging.getLogger('django')
#
# # 以上两句话,在哪个文件用的时候,我们都要写,所以我们可以进行封装一下
# # 直接写在我们创建的自己写的utils工具包中
# logger.info('123')
# utils/logging.py
# 在任何文件中使用logger,都可以导入dev中配置的logging
import logging
logger = logging.getLogger('django')
# 测试脚本文件中
from utils.logging import logger
logger.info('123')

# 这里没有debug,logging有默认的级别,
# 因为在dev配的logger有默认的级别,需要在loggin中在配置
logger.debug('123')
# settings/dev.py
见下图

posted @ 2019-12-03 21:35  Cecilia陈  阅读(256)  评论(0编辑  收藏  举报