Django开发中的日志输出的方法

区分不同的日志等级是我们在Django开发过程中最常用的日志输出方法。下面是使用Python logging模块进行日志输出的完整攻略,包括代码示例。

步骤1:在Django配置文件中配置logging模块

在settings.py文件中进行下列配置:

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'file': {
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': BASE_DIR + "/logs/django.log",
            'maxBytes': 1024 * 1024 * 5,
            'backupCount': 5,
            'formatter': 'verbose'
        },
        'console': {
            'class': 'logging.StreamHandler',
            'formatter': 'verbose'
        },
    },
    'formatters': {
        'verbose': {
            'format': '[%(asctime)s] %(levelname)s [%(module)s %(process)d %(thread)d %(message)s]',
            'datefmt': '%Y-%m-%d %H:%M:%S'
        },
        'simple': {
            'format': '%(levelname)s %(message)s'
        },
    },
    'loggers': {
        'django': {
            'handlers': ['file', 'console'],
            'level': 'DEBUG',
        },
        'django.request': {
            'handlers': ['file', 'console'],
            'level': 'DEBUG',
            'propagate': True,
        },
        'myapp': {
            'handlers': ['file', 'console'],
            'level': 'DEBUG',
            'propagate': True,
        },
    }
}

该配置在Logging字典的各个部分,将使用哪几种级别日志输出写入了配置文件中。

步骤2:将logging模块作为实用工具使用于视图函数等代码中

在views.py文件(或其它需要进行日志输出的代码文件)中,将日志记录器作为实用工具使用:

import logging

logger = logging.getLogger('myapp')

def index(request):
    logger.debug('This is a debug message')
    logger.info('This is an information message')
    logger.warning('This is a warning message')
    logger.error('This is an error message')
    logger.critical('This is a critical message')
    context = {}
    return render(request, 'index.html', context)

使用Django日志记录器输出的示例:

logger.debug('This is a debug message')
logger.info('This is an information message')
logger.warning('This is a warning message')
logger.error('This is an error message')
logger.critical('This is a critical message')

以上两行代码将产生5个级别的日志输出,分别为DEBUG(调试)、INFO(信息)、WARNING(警告)、ERROR(错误)、CRITICAL(严重错误)。

步骤3:查看日志输出

Django的日志消息将会保存在日志文件中,如果我们将handlers配置的文件句柄为console,则同样会在控制台中输出日志消息。如果想查看日志消息,可以使用以下命令:

tail -f 路径/<appname>.log

例如,在Django应用名称为myapp的情况下,要查看myapp日志文件中的输出日志,请执行:

tail -f 路径/myapp.log

以上日志文件中将输出所有myapp应用中输出的日志消息。

示范效果:

以下是一个示例日志输出内容:

[2019-04-17 14:54:19] DEBUG [myapp.views 18304 123145591207680] This is a debug message
[2019-04-17 14:54:19] INFO [myapp.views 18304 123145591207680] This is an information message
[2019-04-17 14:54:19] WARNING [myapp.views 18304 123145591207680] This is a warning message
[2019-04-17 14:54:19] ERROR [myapp.views 18304 123145591207680] This is an error message
[2019-04-17 14:54:19] CRITICAL [myapp.views 18304 123145591207680] This is a critical message

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Django开发中的日志输出的方法 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • pycharm社区版安装django并创建一个简单项目的全过程

    下面我将详细讲解“Pycharm社区版安装Django并创建一个简单项目的全过程”: 1. 安装Pycharm社区版 首先,你需要在官网(https://www.jetbrains.com/pycharm/download/)下到Pycharm社区版的安装包,然后运行安装包进行安装。在安装时,你需要选择自己系统对应的版本,我这里安装的是Windows版本。 …

    Django 2023年5月16日
    00
  • Django Admin后台管理系统是什么?如何使用?

    Django Admin后台管理系统是什么? Django是一个高级Web框架,提供了一系列组件和工具,帮助开发人员快速开发高质量的Web应用程序。 其中,Django Admin是Django框架的一个常用组件之一,提供了一个易于使用的后台管理系统,方便了用户管理数据和应用程序的操作。 简单来说,Django Admin后台管理系统就是一个Web应用程序的…

    2023年3月11日
    00
  • django自带调试服务器的使用详解

    下面我来详细讲解“Django自带调试服务器的使用详解”。 什么是Django自带调试服务器? Django是一个高效的Python Web框架,它提供了一个开发Web应用的强大工具。Django自带调试服务器是Django框架提供的一种用于本地开发和测试的轻量级服务器,它通常被称为“开发服务器”。开发服务器可以允许开发人员快速地开发和测试Web应用,不需部…

    Django 2023年5月16日
    00
  • Django完整增删改查系统实例代码

    “Django完整增删改查系统实例代码”是一个非常简单易懂的示例教程,通过该教程可以轻松了解基于Django的增删改查系统是如何实现的。下面详细讲解一下该教程的完整攻略和两条示例说明。 一、完整攻略 准备工作:安装Django和MySQL,创建新项目对象。 创建应用:创建一个名为“myapp”的应用,生成并修改模型代码。 进行迁移:使用Django的迁移命令…

    Django 2023年5月16日
    00
  • Django自带的加密算法及加密模块详解

    接下来我将为您详细讲解“Django自带的加密算法及加密模块详解”攻略。 标题一 介绍 Django自带的加密算法有md5、sha1、sha256等。其中sha256用的较多,它是一种密码学安全哈希函数,可接受任意大小的数据并输出固定长度的哈希值。Django还自带了加密模块django.contrib.auth.hashers,其中包括了常见的5种加密算法…

    Django 2023年5月16日
    00
  • Python后台开发Django的教程详解(启动)

    一、标题 Python后台开发Django的教程详解(启动) 二、正文 简介 Django是一款基于Python的Web开发框架,被广泛应用于网站和应用的开发。本篇文章将介绍如何启动Django项目并进行基本配置。 环境准备 在开始Django项目之前,我们需要进行一些环境准备:- 确保你已经安装了Python。建议使用Python3以上的版本。- 使用pi…

    Django 2023年5月16日
    00
  • 在Django中创建动态视图的教程

    下面是在Django中创建动态视图的完整攻略: 1. 在urls.py中配置动态视图的路径 首先要在项目的urls.py中配置动态视图的路径。在urls.py文件中添加以下代码: from django.urls import path from . import views urlpatterns = [ path(‘dynamic/’, views.dy…

    Django 2023年5月16日
    00
  • python Django实现增删改查实战代码

    下面我将详细讲解“Python Django实现增删改查实战代码”的完整攻略,具体内容如下: 需求分析 在实现增删改查实战代码之前,我们首先需要明确自己的需求。本文中我们的需求是基于 Django 实现一个简单的学生信息管理系统,其中包括添加学生信息、删除学生信息、修改学生信息以及查看学生信息。 环境准备与项目创建 在开始项目前,我们需要先安装 Django…

    Django 2023年5月16日
    00
合作推广
合作推广
分享本页
返回顶部