Django自定义访问日志模块
2016-10-16 20:18
441 查看
Django自定义访问日志模块
在Django默认没有访问日志模块,但是我们可以通过Django的Middleware来实现一个自己的访问日志模块。首先在Django的工程下创建一个middleware.py文件,内容如下:
#!/usr/bin/env python # -*- coding: utf-8 -*- import time class AccessMiddleware(object): def process_request(self, request): meta = request.META print "[%s] PATH_INFO=%s, REMOTE_ADDR=%s, HTTP_USER_AGENT=%s" \ %(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()), meta['PATH_INFO'], meta['REMOTE_ADDR'], meta['HTTP_USER_AGENT']) return None def process_response(self, request, response): return response
其中 process_request() 应当返回 None 或 HttpResponse 对象。
如果返回 None , Django将继续处理这个 request , 执行后续的中间件, 然后调用相应的view.
如果返回 HttpResponse 对象, Django 将不再执行 任何 其它的中间件(不论种类)以及相应的view. Django将立即返回该 HttpResponse .
然后修改settings.py文件,在MIDDLEWARE_CLASSES部分加入上面创建的AccessMiddleware,比如:(见最后面一行)
MIDDLEWARE_CLASSES = ( 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.security.SecurityMiddleware', 'commons.middleware.AccessMiddleware', )
重启服务,然后再访问任意一个页面就会看到有日志输出了。
转载请以链接形式标明本文链接
本文链接:http://blog.csdn.net/kongxx/article/details/52832579
相关文章推荐
- Django实现的自定义访问日志模块示例
- Django学习日志——mydoit之模块篇(一)
- 一种基于自定义代码记录用户访问日志在Sharepoint网站的应用方法!
- 微软企业库5.0 学习之路——第九步、使用PolicyInjection模块进行AOP—PART4——建立自定义Call Handler实现用户操作日志记录
- Nginx自定义访问日志的配置方式
- Django日志模块logging的配置详解
- 尝试创建自定义事件日志时,将会收到“Requested registry access is not allowed(不允许所请求的注册表访问权)”错误消息
- pycharm整合django 创建项目并访问自定义页面
- 常规功能和模块自定义系统 (cfcmms)—032开发日志(用GoJS来绘制模块关系图)
- 常规功能和模块自定义系统 (cfcmms)—031开发日志(创建ManyToMany的column6)
- 获取系统URL访问的前三名(通过Scala方式实现/通过Spark方式实现),Spark将URL访问日志进行分类并通过自定义Partitioner的方式将文件写入到不同分区上
- sharepoint 2010自定义访问日志列表设置移动终端否和客户端访问系统等计算列的公式
- 03 Python 文件系统 访问权限 函数 类与面向对象 自定义模块
- django1.4日志模块配置及使用
- 常规功能和模块自定义系统 (cfcmms)—035开发日志(每个tab有各自模式window的备忘录)
- 常规功能和模块自定义系统 (cfcmms)—028开发日志(创建ManyToMany的column3)
- Django 中使用 logging 模块记录系统日志
- 访问日志格式的自定义
- 常规功能和模块自定义系统 (cfcmms)—026开发日志(创建ManyToMany的column)
- Django 日志模块 logging 的配置