博客
关于我
Django进阶 ----日志管理
阅读量:571 次
发布时间:2019-03-09

本文共 1377 字,大约阅读时间需要 4 分钟。

  • 概念说明
    日志信息记录了一个事件的发生,通常包括以下几个关键要素:
    • 事件发生时间
    • 事件发生位置
    • 事件的严重程度(日志级别)
    • 事件内容

    日志级别分为以下几种:

    • DEBUG:用于调试目的的低级系统信息
    • INFO:一般系统信息
    • WARNING:已发生的小问题的警告信息
    • ERROR:已发生的主要问题的错误信息
    • CRITICAL:已发生的严重问题的信息
    1. Django日志模块
      Django默认使用的日志模块是 Python 的 logging 模块,主要由四个部分组成:
      • Logger 记录仪:生成和记录日志信息及级别
      • Handler 处理程序:根据日志级别交由相应处理程序处理(如生成日志文件或发送邮件)
      • Filters 过滤器:日志交由处理程序处理前需满足的过滤条件
      • Formatters 格式化程序:决定日志的打印输出格式

      常用配置示例:

      import logging  logger = logging.getLogger(__name__)  def my_view(request, arg1, arg2):      # 其他业务逻辑处理      if error_happens:          logger.error('Something went wrong!')
      1. Loguru日志模块
        Loguru 是一个强大且灵活的日志工具库,安装后直接在视图中使用:
      2. from loguru import logger  logger.add("django.log",             format="{time:YYYY-MM-DD at HH:mm:ss} | {level} | {message}",             rotation="100 MB",             filter="",             level="INFO",             encoding='utf-8')  def my_view(request, arg1, arg2):      # 其他业务逻辑处理      if error_happens:          logger.error("Something went wrong")
        1. Sentry错误监控
          Sentry 是一款广泛支持的错误监控工具,支持 Django 等多种框架:
          安装配置步骤如下:
        2. 安装 Sentry SDK:
          pip install --upgrade sentry-sdk
        3. 在 Sentry 网站注册登录,创建 Django 项目并获取 PublicKey
        4. 修改 Django 项目的 settings.py:
        5. import sentry_sdk  from sentry_sdk.integrations.django import DjangoIntegrations  sentry_sdk.init(      dsn="https://yourPublicKey@o0.ingest.sentry.io/0",      integrations=[DjangoIntegration()],      traces_sample_rate=1.0,      send_default_pii=True,  )

    转载地址:http://tyupz.baihongyu.com/

    你可能感兴趣的文章
    org/eclipse/jetty/server/Connector : Unsupported major.minor version 52.0
    查看>>
    org/hibernate/validator/internal/engine
    查看>>
    Orleans框架------基于Actor模型生成分布式Id
    查看>>
    SQL-36 创建一个actor_name表,将actor表中的所有first_name以及last_name导入改表。
    查看>>
    ORM sqlachemy学习
    查看>>
    Ormlite数据库
    查看>>
    orm总结
    查看>>
    os.environ 没有设置环境变量
    查看>>
    os.path.join、dirname、splitext、split、makedirs、getcwd、listdir、sep等的用法
    查看>>
    os.removexattr 的 Python 文档——‘*‘(星号)参数是什么意思?
    查看>>
    os.system 在 Python 中不起作用
    查看>>
    OS2ATC2017:阿里研究员林昊畅谈操作系统创新与挑战
    查看>>
    OSCACHE介绍
    查看>>
    SQL--合计函数(Aggregate functions):avg,count,first,last,max,min,sum
    查看>>
    OSChina 周五乱弹 ——吹牛扯淡的耽误你们学习进步了
    查看>>
    SQL--mysql索引
    查看>>
    OSChina 周四乱弹 ——程序员为啥要买苹果手机啊?
    查看>>
    OSChina 周日乱弹 —— 2014 年各种奇葩评论集合
    查看>>
    OSChina 技术周刊第十期,每周技术抢先看!
    查看>>
    OSError: no library called “cairo-2“ was foundno library called “cairo“ was foundno library called
    查看>>