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',
        },
    },
}
相关推荐
莓有烦恼吖8 分钟前
Vibe Coding 的一些思考
python
小白学大数据10 分钟前
超简单:用 Python 让 Excel 飞起来:用 openpyxl 把重复报表整理交给脚本
开发语言·数据库·python·excel
爱丶不疚26 分钟前
写给前端工程师的现代 Python 工程化最佳实践:从 pnpm 到 uv,从 CommonJS 到 src-layout
javascript·python·typescript
2601_9622972544 分钟前
C# vs Java vs Python:YOLO工业部署性能对比实战
java·python·c·工业视觉·性能对比
CTA终结者1 小时前
示例、拆解和练习,要连成一条量化补课线
人工智能·python
lolijiaqi151 小时前
一线观察:长期体验后发现的医疗器械 CDMO 底层现象
大数据·python
spencer_tseng2 小时前
[j2cache ehcache.xml]/tmp/.ehcache-diskstore.lock (Permission denied)
xml·linux·python·ehcache·[j2cache
梦想不只是梦与想2 小时前
Python Web 框架:FastAPI
python·fastapi·web框架
玩大数据的龙威2 小时前
农经权二轮延包—全面取代人工公示图生成
python·arcgis
IT_Octopus3 小时前
JSON 日志里的 `{“$ref“:“$.xxx“}`:从 fastjson 兼容包到原生 fastjson2 的迁移实录
开发语言·python·json