Django日志记录配置代码

摘要:
将以下配置添加到设置/dev中。py文件:#日志配置LOGGING={'version':1,#Python使用的内置日志记录模块可能会被Python升级,因此您需要编写版本号。当前版本为“disable_existing_loggers”:False,#是否删除其他地方的日志记录功能并在当前项目中使用,但我们可能会在未来引入第三方模块,该模块可能具有内置日志记录功能

在settings/dev.py文件中追加如下配置:

# 日志配置
LOGGING = {
    'version': 1,  # 使用的python内置的logging模块,那么python可能会对它进行升级,所以需要写一个版本号,目前就是1版本
    'disable_existing_loggers': False,  # 是否去掉目前项目中其他地方中以及使用的日志功能,但是将来我们可能会引入第三方的模块,里面可能内置了日志功能,所以尽量不要关闭。
    'formatters': {  # 日志记录格式  
        'verbose': {  #详细格式输出
             # levelname等级,asctime记录时间,module表示日志发生的文件名称,lineno行号,message错误信息
            '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': {  # 在debug=True下产生的一些日志信息,要不要记录日志,需要的话就在handlers中加上这个过滤器,不需要就不加
            '()': 'django.utils.log.RequireDebugTrue',
        },
        'require_debug_false': {  # 和上面相反
            '()': 'django.utils.log.RequireDebugFalse',
        },
    },
    'handlers': {  # 日志处理方式,日志实例
        'console': {  # 在控制台输出时的实例
            'level': 'DEBUG',  # 日志等级;debug是最低等级,那么只要比它高等级的信息都会被记录
            'filters': ['require_debug_true'],  # 在debug=True下才会打印在控制台
            'class': 'logging.StreamHandler',  # 使用的python的logging模块中的StreamHandler来进行输出
            'formatter': 'simple'
        },
        'file': {
            'level': 'INFO',
            'class': 'logging.handlers.RotatingFileHandler',
            # 日志位置,日志文件名,日志保存目录必须手动创建
            '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结合起来使用,将django中之前的日志输出内容的时候,按照我们的日志配置进行输出,
            'handlers': ['console', 'file'],  # 项目上线,需要把console去掉
            'propagate': True,
            # 冒泡:是否将日志信息记录冒泡给其他的日志处理系统,工作中都是True,不然django这个日志系统捕获到日志信息之后,其他模块中可能也有日志记录功能的模块,就获取不到这个日志信息了
        },
    }
}

免责声明:文章转载自《Django日志记录配置代码》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇深入理解react-native学习笔记_Jpa下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Django的锁和事务

Django的锁和事务 锁 select_for_update(nowait=False, skip_locked=False) 返回一个锁住行直到事务结束的查询集,如果数据库支持,它将生成一个 SELECT ... FOR UPDATE 语句。 举个例子: entries = Entry.objects.select_for_update().filte...

PyCharm 在django程序中单独运行py文件

使用PyCharm开发django程序,发现如果不在命令行而在IDE的django项目中直接运行django程序,发现报错,程序如下:   def main(): from people.models import Blog blog = Blog() blog.name = 'blog1' blog.tagline...

django 后端JsonResponse返回json数据给前端完美接收

1.后端代码编写 from django.http import JsonResponseif True: message = {"code":0,"msg":"同步公有云机器成功,刷新页面获取最新数据!"} else: message = {"code":1,"msg":"同步公有云机器失败,项目配置中还没有配置[项目云id]"} ret...

Django模型Model之数据控制详解

模型是MVC架构中访问数据的模块,Django的模型对各种数据库提供了很好的支持。这里以MySQL为例介绍Django的模型。 使用模型 启用数据库支持 在项目的 settings.py 文件中找到 DATABASES 配置项, 根据数据库配置信息: DATABASES = { 'default': { 'ENGINE': 'dj...

python3 + Django + Mysql + Vue + Element-UI 学习笔记:从0搭建前后端分离的测试工具平台

2020.03.23  INIT 中间换了工作,好久没写了 2021.05.08  新增:页面预览、功能实现样例(含后端接口、前端页面、配置绑定) 2021.05.13  新增:首页增加访问人数统计功能 2021.05.19  新增:用户信息查询接口、页面开发 2021.06.10  新增:生成图片功能 2021.06.18  新增:文本处理工具下载页面...

Django 多对多中间表详解

一、默认中间表  首先,模型是这样的: class Person(models.Model): name = models.CharField(max_length=128) def __str__(self): return self.name class Group(models.Model): name...