首页 > 其他分享 >项目配置日志和记录日志

项目配置日志和记录日志

时间:2022-11-02 11:14:37浏览次数:77  
标签:文件 logging log 记录 配置 django 日志 handlers

日志的配置

在settings配置文件中,添加以下代码,进行日志的配置:

# 真实项目上线后,日志文件打印级别不能过低,因为一次日志记录就是一次文件io操作
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': {
            # 实际开发建议使用WARNING
            'level': 'DEBUG',
            'filters': ['require_debug_true'],
            'class': 'logging.StreamHandler',
            'formatter': 'simple'
        },
        'file': {
            # 实际开发建议使用ERROR
            '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': {
            'handlers': ['console', 'file'],
            'propagate': True, # 是否让日志信息继续冒泡给其他的日志处理系统
        },
    }
}

记录日志

在utils里新建一个logger.py

import logging

log = logging.getLogger('django')  # 括号里的django名字写成自己settings里日志配置的名字
# 以后直接log.error等方法直接记录log信息就行

image

标签:文件,logging,log,记录,配置,django,日志,handlers
From: https://www.cnblogs.com/suncolor/p/16850307.html

相关文章

  • K8S节点配置资源驱逐
    当节点内存到达多少时。对节点的pod进行驱逐[root@lecode-test-001~]#cat/var/lib/kubelet/kubeadm-flags.envKUBELET_KUBEADM_ARGS="--network-plugin=cni--pod-inf......
  • 如何在EasyCVR平台配置AI智能识别的微信端告警消息推送?
    我们在此前的文章中和大家分享过关于EasyCVR视频融合平台智能告警相关的开发及功能介绍,其中包括微信端的开发流程分享,感兴趣的用户可以翻阅往期的文章进行了解。  智......
  • 一文彻底读懂webpack常用配置
    开发环境constwebpack=require("webpack");constpath=require('path')module.exports={//entry:{//a:'./src/0706/a.js',//c:'./......
  • webpack高级配置
    摇树(treeshaking)我主要是想说摇树失败的原因(treeshaking失败的原因),先讲下摇树本身效果什么是摇树?举个例子首先webpack.config.js配置constwebpack=require("we......
  • Linux 系统 logroate日志管理
    1.简介Logrotate是基于CRON来运行的,其脚本是「/etc/cron.daily/logrotate」#!/bin/sh/usr/sbin/logrotate-s/var/lib/logrotate/logrotate.status/etc/logrotate.......
  • 数据库配置限)不用root用户操作数据库了(为数据库创建用户,并赋予权
    步骤1.为路飞项目创建数据库在mysql终端输入以下代码:createdatabaseluffycharset=utf8;2.创建数据库用户createuser'username'@'host'identifiedby'password'......
  • 情绪日志-2022-11
    1101咨询话题专注于情绪的对话交流,让我社交的压力小很多不太将自己的注意力放在别人的身上,不再过多的关注别人的得失,没有较重的比较心理独处的能力有所提升,安静看书学......
  • 路由器的基本配置
    一、实验目标掌握路由器几种常用配置方法;掌握采用Console线缆配置路由器的方法;掌握采用Telnet方式配置路由器的方法;熟悉路由器不同的命令行操作模式以及各种模......
  • 一些Clion使用记录
    一些Clion使用记录编译链设置在设置“工具链”中可以按需增加不同的编译链访问越界溢出debug借助了clion里面打开addresssanitizer,但是自己折腾了挺久都没在windows......
  • 记录一次实验室linux系统的GPU服务器死机排查过程——某显卡满负荷导致内核进程超时导
    在自己没有管理多台高负荷的ubuntu显卡服务器之前,我是万万想不到linux服务器居然也是如此容易死机的。什么每个版本的TensorFlow调用显卡驱动时和内核不兼容,什么系统自动......