首页 > 其他分享 >Django 日志配置

Django 日志配置

时间:2023-06-21 14:56:13浏览次数:34  
标签:告警 21 self 配置 request Django 日志 response

Django 项目日志配置

记录业务运行过程中的一些关键信息,方便查看程序运行情况以及排查报错等

详细日志配置

settings.py 配置文件中新增 日志配置

# 设置时区,日志输出时间为 utc-8 时区
# TIME_ZONE = 'UTC'
TIME_ZONE = 'Asia/Shanghai'

# 日志配置
LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'file': {
            'level': 'DEBUG',
            'class': 'logging.handlers.TimedRotatingFileHandler',
            'filename': './log/access.log',
            'when': 'midnight',  # 每天切割日志
            'interval': 1,  # 切割时间间隔为1天
            'backupCount': 7,  # 保留7天日志
            'formatter': 'custom',
        },
    },
    'formatters': {
        'custom': {
            # 日志输出不够详细,搜索 format 配置后修改下面的配置
            'format': '[%(asctime)s] [%(levelname)s]: %(message)s',
        },
    },
    'loggers': {
        'app': {
            'handlers': ['file'],
            'level': 'DEBUG',
            'propagate': True,
        },
    },
}

文件中调用

import logging

# 获取日志器对象
logger = logging.getLogger('app')

def xxx(request):
    logger.info("Test 数据")

添加中间件,日志记录接口请求 url 信息

  • middleware.py 文件
import logging


class RequestLoggingMiddleware:
    def __init__(self, get_response):
        self.get_response = get_response
        self.logger = logging.getLogger('app')  # 替换为实际的日志器名称

    def __call__(self, request):
        self.logger.info(f'[{request.method}] {request.path} {request.META["SERVER_PROTOCOL"]}')
        response = self.get_response(request)
        return response

  • setting.py 文件注册中间件
MIDDLEWARE = [
    ......
    'app.middleware.RequestLoggingMiddleware',
]

日志实例

[2023-06-17 10:53:21,470] [INFO]: [POST] /api/alert HTTP/1.1
[2023-06-17 10:53:21,471] [INFO]: <QueryDict: {'domain': ['cat'], 'email': ['企业微信机器人'], 'title': ['[CAT Transaction告警] [项目: cat] [监控项: URL-All-count]'], 'content': ['[CAT Transaction告警: cat URL All] : [实际值:164 ] [最大阈值: 100 ][告警时间:2023-06-17 10:53:21]\n[时间: 2023-06-17 10:53] \n\n\n[告警间隔时间]5分钟'], 'type': ['Transaction']}>
[2023-06-17 10:53:21,471] [INFO]: 
# Cat监控告警信息
> <font color="warning">告警类型</font>:CAT Transaction告警
> <font color="warning">告警项目</font>:cat
> <font color="warning">监控项目</font>:URL-All-count
> <font color="warning">告警内容</font>:最大阈值: 100, 实际值: 164
> <font color="warning">告警时间</font>:2023-06-17 10:53:21
> <font color="warning">告警间隔时间</font>:5分钟
[2023-06-17 10:53:21,808] [INFO]: 告警发送完成

标签:告警,21,self,配置,request,Django,日志,response
From: https://www.cnblogs.com/evescn/p/17496215.html

相关文章

  • 如何实现带有颜色文本的日志框_使用HTMLEditor模拟
    如何实现带有颜色文本的日志框_使用HTMLEditor模拟HTMLEditor是一个强大的html编辑器,可以方便的编辑各种html元素并得到html文本。比之TextArea要强大很多,因为TextArea中所有的文本只能有一种样式。如果想要实现一个日志框,其中普通信息、警告信息、错误信息使用不同......
  • mysql的二进制日志和中继日志文件的分析、恢复、清理
    1.mysql的二进制日志目录1.mysql的二进制日志1.1.概述1.2.MySQL中二进制日志(binlog)3种不同的格式(Mixed,Statement,Row)1.2.1.Row1.2.2.Statement1.2.3.Mixed1.3.binglog格式设置1.4.二进制日志文件的清理1.4.1.自动清理binglog1.4.1.修改过期时间1.4.2.手动清除......
  • mysql日志基本概念和启用
    1.mysql日志目录1.mysql日志1.1.概述1.2.MySQL日志文件分类1.2.1.错误日志1.2.2.二进制日志1.2.3.通用查询日志1.2.3.1.定位查询慢的sql1.2.3.2.慢查询日志的启动和参数说明;1.2.4.慢查询日志1.2.5.Innodb的在线redo日志1.2.6.更新日志1.3.日志启动1.4.总结1.4.1.b......
  • Apollo配置中心
    • 统一管理不同环境、不同集群的配置○ Apollo提供了一个统一界面集中式管理不同环境(environment)、不同集群(cluster)、不同命名空间(namespace)的配置。○ 同一份代码部署在不同的集群,可以有不同的配置,比如zk的地址等○ 通过命名空间(namespace)可以很方便的支持多个不同应用共享同一份配......
  • PG-DBA培训03:Linux平台PostgreSQL安装配置与管理入门
    一、风哥PG-DBA培训03:Linux平台PostgreSQL安装配置与管理入门本课程由风哥发布的基于PostgreSQL数据库的系列课程,本课程属于PostgreSQL数据库实战入门与安装配置阶段之Linux平台PostgreSQL安装配置与管理入门课程,学完本课程可以掌握基于Linux平台的PostgreSQL项目规划,PostgreSQL......
  • PG-DBA培训02:Win平台PostgreSQL安装配置与管理入门 原创
    一、风哥PG-DBA培训02:Win平台PostgreSQL安装配置与管理入门本课程由风哥发布的基于PostgreSQL数据库的系列课程,本课程属于PostgreSQL数据库实战入门与安装配置阶段之Win平台PostgreSQL安装配置与管理入门课程,学完本课程可以掌握基于Windows平台的PostgreSQL项目规划,PostgreSQL数......
  • docker-k8s-日志分析
    1.mac安全模式关了2.docker源改了,国内的3、k8s的git仓库,匹配到版本后,下载了。依旧无法正常启动···2023062113:36:45第一次日志记录2023-06-2113:31:23.630123+0800localhostcom.docker.backend[17097]:(0fd28985)ead7cf58-KubernetesManagerC<-Sd75b0a51-VMD......
  • PG-DBA培训02:Win平台PostgreSQL安装配置与管理入门
    一、风哥PG-DBA培训02:Win平台PostgreSQL安装配置与管理入门本课程由风哥发布的基于PostgreSQL数据库的系列课程,本课程属于PostgreSQL数据库实战入门与安装配置阶段之Win平台PostgreSQL安装配置与管理入门课程,学完本课程可以掌握基于Windows平台的PostgreSQL项目规划,PostgreSQL数据......
  • PG-DBA培训03:Linux平台PostgreSQL安装配置与管理入门
    一、风哥PG-DBA培训03:Linux平台PostgreSQL安装配置与管理入门本课程由风哥发布的基于PostgreSQL数据库的系列课程,本课程属于PostgreSQL数据库实战入门与安装配置阶段之Linux平台PostgreSQL安装配置与管理入门课程,学完本课程可以掌握基于Linux平台的PostgreSQL项目规划,PostgreSQL数......
  • 通用密钥,无需密码,在无密码元年实现Passkeys通用密钥登录(基于Django4.2/Python3.10)
    毋庸讳言,密码是极其伟大的发明,但拜病毒和黑客所赐,一旦密码泄露,我们就得绞尽脑汁再想另外一个密码,但记忆力并不是一个靠谱的东西,一旦遗忘密码,也会造成严重的后果,2023年业界巨头Google已经率先支持了Passkeys登录方式,只须在设备上利用PIN码解锁、指纹或面部辨识等生物识别方式,即可验......