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',
        },
    },
}
相关推荐
荒川之神4 小时前
ORACLE导入导出实验
数据库·oracle
执笔为剑4 小时前
利用逻辑备份修复误操作的库
数据库·kingbase
程序员夏末4 小时前
【MySQL | 第三篇】 MySQL索引详解
数据库·mysql
leoZ2314 小时前
innodb理解
数据库
沛沛rh455 小时前
深入并发编程:从 C++ 到 Rust 的学习笔记
c++·笔记·学习·算法·rust
NaMM CHIN5 小时前
SQL sever数据导入导出实验
数据库·sql·oracle
chushiyunen5 小时前
float浮点数计算-原理笔记
笔记
A923A5 小时前
【小兔鲜电商前台 | 项目笔记】第二天
前端·vue.js·笔记·项目·小兔鲜
bukeyiwanshui5 小时前
2026.4.2随堂笔记
笔记
CheerWWW5 小时前
C++学习笔记——初始化列表、创建和实例化对象、new 关键字、隐式构造与 explicit 关键字、运算符与运算符重载
c++·笔记·学习