python日志logging、django日志等

文章目录

主要有这么几种:
1、python自带的logging。
2、loguru日志框架(推荐)。# 见另外一篇笔记
3、django中的日志。

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',
        },
    },
}
相关推荐
言乐63 小时前
Python游戏水平测试辅助系统
开发语言·python·游戏·django·pygame
小白勇闯网安圈9 小时前
Django 响应对象、文件上传与类视图
数据库·django·sqlite
从零开始学习人工智能9 小时前
【踩坑实录】WSL2 解决 onnxruntime\-gpu ImportError: libcudart\.so\.13 无 CUDA13 运行库问题
python
卷无止境10 小时前
在 awesome-fastapi 里,哪些库值得一看?
后端·python
zhanghaha131411 小时前
Python进阶教程:6_JSON 数据解析 —— 新手完全指南
开发语言·python·json
Python私教11 小时前
API 输出模型怎么设计:从 model_dump() 到显式展示层
python·fastapi
Python私教11 小时前
本地 AI 工具服务该绑定 127.0.0.1 还是 0.0.0.0?
python·fastapi
卷无止境12 小时前
FastAPI 的Admin面板生态
后端·python
ctlover12 小时前
Streamlit 框架
python
ι:13 小时前
MATLAB 与 Python 搭建无人机地面站:优势、劣势与选型逻辑
python·matlab·无人机