Django后台项目开发实战六

日志记录

第六阶段

日志处理教程 Django 日志处理

我这里实现一个简单的日志,在 setting.py 文件添加日志

python 复制代码
LOGGING = {
    # 版本
    'version': 1,
    # 是否禁止默认配置的记录器
    'disable_existing_loggers': False,
    'formatters': {
        'simple': {
            'format': '%(asctime)s %(name)-12s %(lineno)d %(levelname)-8s %(message)s'
        }
    },
    'handlers': {
        # 标准输出
        'console': {
            'class': 'logging.StreamHandler',
            'formatter': 'simple'
        },
        'mail_admins':{
            'level': 'ERROR',
            'class':'django.utils.log.AdminEmailHandler'
        },
        # 自定义 handlers,输出到文件
        'file': {
            'class': 'logging.FileHandler',
            'filename': os.path.join(os.path.dirname(BASE_DIR), 'web-log.log'),
            'formatter': 'simple',
        },
    },
    'root':{
        'handlers':['console','file'],
        'level':'INFO'
    },
    'loggers': {
        'django': {
            'handlers': ['console','file'],
            'level': 'ERROR',
        }
    }
}

在 interview 文件夹下的 admin.py 文件添加写入日志的代码,当导出 csv 时便会记录操作

python 复制代码
import logging

logger = logging.getLogger(__name__)

def export_model_as_csv(modeladmin,request,queryset):
    ...

    logger.info("%s exported %s candidate records" % (request.user,len(queryset)))

    return response

效果图就不展示了,大家自己操作一下就好

第六阶段结束!

相关推荐
Gauss松鼠会7 小时前
GaussDB(DWS) GUC参数修改、查看
java·数据库·sql·数据库开发·gaussdb
米高梅狮子7 小时前
Ceph 分布式存储 部署
linux·运维·数据库·分布式·ceph·docker·华为云
滴滴答答哒7 小时前
.NET Core 基于 AOP + Polly 实现数据库死锁自动重试
数据库·.netcore·sqlsugar
龙腾AI白云8 小时前
中国人工智能培训网
人工智能·django·知识图谱
yuzhiboyouye8 小时前
所有的 SQL 都要经过 Explain 优化,是什么意思
数据库·sql
洛水水8 小时前
Redis 实现限流功能的几种方法
数据库·redis·缓存
l1t8 小时前
DeepSeek总结的postgresql 数据分析师 vs width_bucket()
数据库·postgresql
米高梅狮子8 小时前
Redis
数据库·redis·mysql·缓存·docker·容器·github
dinl_vin8 小时前
FastAPI 系列 ·(四):数据库集成——SQLAlchemy 2.0 异步 ORM 与 Alembic 迁移
java·数据库·fastapi
坚定信念,勇往无前9 小时前
electron-vite 安装better-sqlite3
javascript·数据库·electron