django日志使用笔记

文章目录

django框架本身就带日志,一般配置在settings文件里。

配置

下列示例拿过去直接就可以用:

py 复制代码
import os
from pathlib import Path

# 获取项目根目录 (确保 BASE_DIR 已定义,通常在文件顶部)
# BASE_DIR = Path(__file__).resolve().parent.parent 

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,  # 不要禁用默认的 logger
    
    # 定义格式
    'formatters': {
        'verbose': {
            'format': '{levelname} {asctime} {module} {message}',
            'style': '{',
        },
        'simple': {
            'format': '{levelname} {message}',
            'style': '{',
        },
    },

    # 定义处理器 (Handlers)
    'handlers': {
        # 控制台输出
        'console': {
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
            'formatter': 'verbose',
        },
        # 文件输出
        'file': {
            'level': 'INFO',
            'class': 'logging.FileHandler',
            'filename': os.path.join(BASE_DIR, 'django_debug.log'), # 日志文件保存在项目根目录
            'encoding': 'utf-8',  # 关键:防止中文乱码
            'formatter': 'verbose',
        },
    },

    # 定义记录器 (Loggers)
    'loggers': {
        # Django 框架本身的日志
        'django': {
            'handlers': ['console', 'file'],
            'level': 'INFO',  # Django 内部日志级别
            'propagate': True,
        },
        # 你自己的 App 日志 (替换 'mysite' 为你的项目名或 app 名)
        'mysite': { 
            'handlers': ['console', 'file'],
            'level': 'DEBUG', # 你的代码日志级别
            'propagate': False,
        },
        # 捕获所有未明确配置的 logger (根记录器)
        '': { 
            'handlers': ['console', 'file'],
            'level': 'WARNING',
        },
    },
}
相关推荐
玖玥拾11 小时前
LeetCode 392 判断子序列
笔记·算法·leetcode
ManageEngineITSM11 小时前
什么是CMDB?配置管理数据库的定义、作用与建设方法一文讲清
大数据·数据库·人工智能·资产管理·变更管理
IvorySQL11 小时前
PostgreSQL 日报|PG19 外键快速路径隐患已修复(8 月 23 日)
数据库·postgresql
Elastic 中国社区官方博客11 小时前
OpenTelemetry Java 扩展:无需分叉 agent 即可自定义追踪
java·大数据·运维·开发语言·数据库·人工智能·elasticsearch
摇滚侠12 小时前
《SpringBoot 3:入门与应用实战》第 7 章 AOP 思想与实现 阅读笔记 15
java·spring boot·笔记
01传说12 小时前
redis开机自启脚本
数据库·redis·缓存
这个DBA有点耶12 小时前
数据库运维的“自动驾驶”:KES-Operator如何把DBA经验编码为软件
数据库·dba·自动化运维
摇滚侠12 小时前
《SpringBoot 3:入门与应用实战》第 7 章 AOP 思想与实现 阅读笔记 14
spring boot·笔记·后端
动力 continue13 小时前
MySQL 基础篇 · SELECT 查询大
数据库·sql·mysql·select
程序员-Benothing13 小时前
MySQL 索引下推是什么?——深入理解 ICP 原理与实践
android·数据库·mysql