博客
关于我
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/

    你可能感兴趣的文章
    No module named 'crispy_forms'等使用pycharm开发
    查看>>
    No module named cv2
    查看>>
    No module named tensorboard.main在安装tensorboardX的时候遇到的问题
    查看>>
    No module named ‘MySQLdb‘错误解决No module named ‘MySQLdb‘错误解决
    查看>>
    No new migrations found. Your system is up-to-date.
    查看>>
    No qualifying bean of type XXX found for dependency XXX.
    查看>>
    No resource identifier found for attribute 'srcCompat' in package的解决办法
    查看>>
    no session found for current thread
    查看>>
    No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
    查看>>
    NO.23 ZenTaoPHP目录结构
    查看>>
    NO32 网络层次及OSI7层模型--TCP三次握手四次断开--子网划分
    查看>>
    NoClassDefFoundError: org/springframework/boot/context/properties/ConfigurationBeanFactoryMetadata
    查看>>
    Node JS: < 一> 初识Node JS
    查看>>
    Node-RED中使用JSON数据建立web网站
    查看>>
    Node-RED中使用json节点解析JSON数据
    查看>>
    Node-RED中使用node-random节点来实现随机数在折线图中显示
    查看>>
    Node-RED中使用node-red-browser-utils节点实现选择Windows操作系统中的文件并实现图片预览
    查看>>
    Node-RED中使用Notification元件显示警告讯息框(温度过高提示)
    查看>>
    Node-RED中实现HTML表单提交和获取提交的内容
    查看>>
    Node.js 函数是什么样的?
    查看>>