• Django中日志管理


    在settings中设置日志的相关信息,然后再逻辑代码区就可以保存相应的信息了

    #简单设置:

    LOGGING = {
        'version': 1,
        'disable_existing_loggers': False,
        'handlers': {
            'console':{
                'level':'DEBUG',
                'class':'logging.StreamHandler',
            },
        },
        'loggers': {
            'django.db.backends': {
                'handlers': ['console'],
                'propagate': True,
                'level':'DEBUG',
            },
        }
    }

    #下面是稍微详细一点的配置,可以直接在以后的项目中引用。

    # 定义一下log文件存放的位置
    BASE_LOG_DIR = os.path.join(BASE_DIR, "log")
    # Django项目日志配置
    LOGGING = {
        # 固定搭配的一个版本号
        'version': 1,
        # 禁用已经存在的logger实例
        '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': '[%(asctime)s]%(message)s'
            }
        },
        # 日志的过滤条件
        'filters': {
            # 需要debug=True
            '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, "s8_info.log"),  # 日志文件
                'maxBytes': 1024 * 1024 * 50,  # 日志大小 50M
                'backupCount': 5,  # 日志文件个数
                'formatter': 'standard',
                'encoding': 'utf-8',
            },
            # 专门记录错误日志的
            'error': {
                'level': 'ERROR',
                'class': 'logging.handlers.RotatingFileHandler',  # 保存到文件,自动切
                'filename': os.path.join(BASE_LOG_DIR, "s8_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, "s8_collect.log"),
                'maxBytes': 1024 * 1024 * 50,  # 日志大小 50M
                'backupCount': 5,
                'formatter': 'collect',
                'encoding': "utf-8"
            }
        },
        # 最后处理logger实例的配置
        'loggers': {
           # 默认的logger应用如下配置
            '': {
                'handlers': ['default', 'console', 'error'],  # 上线之后可以把'console'移除
                'level': 'DEBUG',
    
            },
            # 名为 'collect'的logger还单独处理
            'collect': {
                'handlers': ['console', 'collect'],
                'level': 'INFO',
            },
            'collect.son': {
                'handlers': ['console',],
                'level': 'INFO',
                'propagate': False,
            }
        },
    }
  • 相关阅读:
    Hadoop命令手册
    编程算法
    综合8种子排序算法总结和比较
    android 创建一个新的每次project什么时候 请问自己主动 参加 V7依赖?
    【JDBC】java PreparedStatement操作oracle数据库
    【cocos2dx 加载资源目录】
    Project Euler:Problem 39 Integer right triangles
    矿Java开发学习之旅------>Java排序算法经典的二分法插入排序
    [React Intl] Render Content with Placeholders using react-intl FormattedMessage
    [React Intl] Install and Configure the Entry Point of react-intl
  • 原文地址:https://www.cnblogs.com/yangmingxianshen/p/8360765.html
Copyright © 2020-2023  润新知