DAY17-Django之logging

Posted guoyunlong666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DAY17-Django之logging相关的知识,希望对你有一定的参考价值。

LOGGING = {
    \'version\': 1,
    \'disable_existing_loggers\': False,
    \'formatters\': {
        \'standard\': {
            \'format\': \'[%(asctime)s][%(threadName)s:%(thread)d][task_id:%(name)s][%(filename)s:%(lineno)d]\'
                      \'[%(levelname)s][%(message)s]\'
        },
        \'simple\': {
            \'format\': \'[%(levelname)s][%(asctime)s][%(filename)s:%(lineno)d]%(message)s\'
        },
        \'collect\': {
            \'format\': \'%(message)s\'
        }
    },
    \'filters\': {
        \'require_debug_true\': {
            \'()\': \'django.utils.log.RequireDebugTrue\',
        },
    },
    \'handlers\': {
        \'console\': {
            \'level\': \'DEBUG\',
            \'filters\': [\'require_debug_true\'],  # 只有在Django debug为True时才在屏幕打印日志
            \'class\': \'logging.StreamHandler\',
            \'formatter\': \'simple\'
        },
        \'default\': {
            \'level\': \'INFO\',
            \'class\': \'logging.handlers.RotatingFileHandler\',  # 保存到文件,自动切
            \'filename\': os.path.join(BASE_LOG_DIR, "xxx_info.log"),  # 日志文件
            \'maxBytes\': 1024 * 1024 * 50,  # 日志大小 50M
            \'backupCount\': 3,
            \'formatter\': \'standard\',
            \'encoding\': \'utf-8\',
        },
        \'error\': {
            \'level\': \'ERROR\',
            \'class\': \'logging.handlers.RotatingFileHandler\',  # 保存到文件,自动切
            \'filename\': os.path.join(BASE_LOG_DIR, "xxx_err.log"),  # 日志文件
            \'maxBytes\': 1024 * 1024 * 50,  # 日志大小 50M
            \'backupCount\': 5,
            \'formatter\': \'standard\',
            \'encoding\': \'utf-8\',
        },
        \'collect\': {
            \'level\': \'INFO\',
            \'class\': \'logging.handlers.RotatingFileHandler\',  # 保存到文件,自动切
            \'filename\': os.path.join(BASE_LOG_DIR, "xxx_collect.log"),
            \'maxBytes\': 1024 * 1024 * 50,  # 日志大小 50M
            \'backupCount\': 5,
            \'formatter\': \'collect\',
            \'encoding\': "utf-8"
        }
    },
    \'loggers\': {
       # 默认的logger应用如下配置
        \'\': {
            \'handlers\': [\'default\', \'console\', \'error\'],  # 上线之后可以把\'console\'移除
            \'level\': \'DEBUG\',
            \'propagate\': True,
        },
        # 名为 \'collect\'的logger还单独处理
        \'collect\': {
            \'handlers\': [\'console\', \'collect\'],
            \'level\': \'INFO\',
        }
    },
}

 附:Python logger流示图

以上是关于DAY17-Django之logging的主要内容,如果未能解决你的问题,请参考以下文章

DAY17-Django之model查询

DAY17-Django之model增删改

day17-django的ORM与其他

day17 Django 主机管理

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情

Python之路Day17django