django配置日志

在项目目录创建logs文件夹

# 控制台日志存放目录
CONSOLE_LOG = os.path.join(BASE_DIR, 'logs')

# 配置日志
LOGGING = {
    'version': 1,  # 指定版本,目前也就一个版本
    'disable_existing_loggers': True,  # 表示是否禁用所有的已经存在的日志配置
    'formatters': {
        # 日志格式
        'standard': {
            'format': '[%(asctime)s] [%(filename)s:%(lineno)d] [%(module)s:%(funcName)s] '
                      '[%(levelname)s]- %(message)s'},
        'simple': {  # 简单格式
            'format': '%(levelname)s %(message)s'
        },
    },
    # 暂不使用过滤
    'filters': {
    },
    # 定义具体处理日志的方式
    # 用来定义具体处理日志的方式,可以定义多种
    # "default"就是默认方式,"console"就是打印到控制台方式。file是写入到文件的方式,注意使用的class不同
    'handlers': {
        # 默认记录所有日志
        'default': {
            'level': 'INFO',
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': CONSOLE_LOG + '/web.logs',  # 日志的存放路径
            'maxBytes': 1024 * 1024 * 5,  # 文件大小
            'backupCount': 5,  # 备份数
            'formatter': 'standard',  # 输出格式
            'encoding': 'utf-8',  # 设置默认编码,否则打印出来汉字乱码
        },
        # 控制台输出
        'console': {
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
            'formatter': 'standard'
        },
    },
    # 配置用哪几种 handlers 来处理日志
    'loggers': {
        # 类型 为 django 处理所有类型的日志, 默认调用
        'django': {
        	# 如果禁掉了console默认控制台也会输出
            # 输出日志的格式为:[%(asctime)s] [%(filename)s:%(lineno)d] [%(levelname)s]- %(message)s
            'handlers': ['default', 'console'],
            'level': 'INFO',
            # 可以基于每个记录器控制该传播。 如果您不希望特定记录器传播到其父项,则可以关闭此行为
            # 可以解决在django日志打印一遍又在自己创建的日志管理器又打印一遍的问题
            'propagate': False  
        },
    }
}

说明

一、日志级别

在这里插入图片描述
总共有六个日志级别,当日志级别设置为WARNING时,则比它低的INFO、DEBUG、NOTSET将不会输出
解释:
CRITICAL 50 关键错误/消息,描述已经发生的严重问题
ERROR 40 错误,描述已经发生的主要问题
WARNING 30 警告消息,描述已经发生的小问题
INFO 20 通知消息,普通的系统信息列表内容
DEBUG 10 调试,出于调试目的的低层次系统信息
NOTSET 0 无级别

format日志格式

%(name)s 记录器的名称
%(levelno)s 数字形式的日志记录级别
%(levelname)s 日志记录级别的文本名称
%(filename)s 执行日志记录调用的源文件的文件名称
%(pathname)s 执行日志记录调用的源文件的路径名称
%(funcName)s 执行日志记录调用的函数名称
%(module)s 执行日志记录调用的模块名称
%(lineno)s 执行日志记录调用的行号
%(created)s 执行日志记录的时间
%(asctime)s 日期和时间
%(msecs)s 毫秒部分
%(thread)d 线程ID
%(threadName)s 线程名称
%(process)d 进程ID
%(message)s 记录的消息

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值