`

Django中使用logging模块

阅读更多

Django中使用logging模块

web应用中记录页面访问情况,在jsp里有filter

Django里有middleware

下面的例子就是在中间件里记录页面访问情况。

 

settings.py

 

# Django settings for testsite project.
import logging
DEBUG = True
# DEBUG = False
TEMPLATE_DEBUG = DEBUG

ADMINS = (
    # ('Your Name', 'your_email@domain.com'),
)

MANAGERS = ADMINS

DATABASE_ENGINE = ''           # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
DATABASE_NAME = ''             # Or path to database file if using sqlite3.
DATABASE_USER = ''             # Not used with sqlite3.
DATABASE_PASSWORD = ''         # Not used with sqlite3.
DATABASE_HOST = ''             # Set to empty string for localhost. Not used with sqlite3.
DATABASE_PORT = ''             # Set to empty string for default. Not used with sqlite3.

# Local time zone for this installation. Choices can be found here:
# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
# although not all choices may be available on all operating systems.
# If running in a Windows environment this must be set to the same as your
# system time zone.
TIME_ZONE = 'America/Chicago'

# Language code for this installation. All choices can be found here:
# http://www.i18nguy.com/unicode/language-identifiers.html
LANGUAGE_CODE = 'en-us'

SITE_ID = 1

# If you set this to False, Django will make some optimizations so as not
# to load the internationalization machinery.
USE_I18N = True

# Absolute path to the directory that holds media.
# Example: "/home/media/media.lawrence.com/"
MEDIA_ROOT = ''

# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash if there is a path component (optional in other cases).
# Examples: "http://media.lawrence.com", "http://example.com/media/"
MEDIA_URL = ''

# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
# trailing slash.
# Examples: "http://foo.com/media/", "/media/".
ADMIN_MEDIA_PREFIX = '/media/'

# Make this unique, and don't share it with anybody.
SECRET_KEY = '!utms++9y)scz_(1fuwfi&e2z#%c=f(2ltg$b^zdo()mly)&6c'

# List of callables that know how to import templates from various sources.
TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.load_template_source',
    'django.template.loaders.app_directories.load_template_source',
#     'django.template.loaders.eggs.load_template_source',
)

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'middleware.QtsAuthenticationMiddleware',
    'logmiddleware.QtsAuthenticationMiddleware',
)

ROOT_URLCONF = 'testsite.urls'

TEMPLATE_DIRS = (
    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
    
    #'./templates',
    'E:/Python25/scripts/testsite/templates',
)

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
)

logging.basicConfig(
    level = logging.DEBUG, 
    #
    format = '%(asctime)s %(levelname)s %(module)s.%(funcName)s Line:%(lineno)d %(message)s',
    filename = 'filelog.log',
)

#print 'E:/Python25/scripts/testsite/templates',

 

 

 

logmiddleware.py

 

 

'''
Created on 2009-4-9

@author: Administrator
'''
from django.http import HttpResponseRedirect 
from django.contrib.auth import SESSION_KEY 
from urllib import quote 
import logging

class QtsAuthenticationMiddleware(object): 
    def process_request(self, request):
        #print request.path
        logging.info("enter:" + request.path)
        pass
    def process_response(self, request, response):
        logging.info("exit:" + request.path)
        return response 

 

 

分享到:
评论

相关推荐

    PyPI 官网下载 | django-logging-json-1.5.3.tar.gz

    在这个例子中,我们无法看到具体的目录结构,但我们可以推测它应该包含Django logging配置的JSON相关模块,以及可能的示例、许可证文件和安装指南等。 综上所述,"django-logging-json"是一个专门为Django框架设计...

    Django日志模块logging的配置详解

    在Java开发中,我们经常使用log4j或logback这样的第三方日志库,而在Python的世界里,logging模块则提供了类似的功能。Django整合了Python的logging模块,使其在Web应用开发中更加方便。 首先,理解logging的工作...

    Python库 | django_splunk_logging-1.1.0.tar.gz

    此外,由于其基于Python标准库的logging模块,因此与Django的集成非常平滑,不会引入额外的复杂性。 总的来说,`django_splunk_logging`是Django开发者的一个宝贵工具,它提供了与Splunk的日志集成,使得日志管理变...

    Django 使用logging打印日志的实例

    Django使用Python内置的`logging`模块来实现这一功能。下面我们将深入探讨如何在Django中配置和使用`logging`。 首先,`logging`模块是线程安全的,这意味着在多线程环境下,它能有效地处理日志记录,避免数据冲突...

    PyPI 官网下载 | django-logging-endpoint-1.0.2.tar.gz

    Django的日志配置基于Python的`logging`模块,允许开发者定义多个日志处理器和过滤器,以控制日志的输出方式和级别。然而,这些日志通常被打印到控制台或写入文件,对于大型分布式系统,这样的处理方式可能不够理想...

    PyPI 官网下载 | django_models_logging-0.9.2-py3-none-any.whl

    10. **项目集成**:将`django_models_logging`集成到Django项目中,需要在项目的`settings.py`文件中配置应用列表,并根据库的文档进行相应的设置。 通过这个资源,开发者能够快速获取并安装`django_models_logging...

    Python Django框架实现应用添加logging日志操作示例

    #### Django与Logging模块 Django框架默认使用Python的内置`logging`模块来处理应用程序的日志记录需求。为了使Django应用能够有效地利用这一功能,我们需要进行一些必要的配置,并根据不同的场景调用合适的日志...

    Django2.0.1官方文档

    - Web应用常常需要发送电子邮件给用户,Django的文档中会涉及到如何配置和使用Django发送电子邮件的功能。 13. 日志记录(Logging) - 日志记录对于调试和监控Web应用非常关键,官方文档会描述如何配置和使用...

    Django1.6 官方文档

    **Django** 是一个高度模块化且可扩展的 Python Web 框架,它鼓励快速开发并遵循 DRY(Don't Repeat Yourself)原则。**Django 1.6** 是该框架的一个版本,它在 2014 年发布,包含了一系列新功能和改进。 **Django ...

    Django日志及中间件模块应用案例

    在Django中,可以使用`django.core.mail`模块来发送邮件,确保正确配置了邮件服务后,就可以通过编程方式触发邮件发送。 总结起来,Django日志和中间件的应用涉及到以下几个关键点: 1. 定制日志格式和配置处理器...

    Python-Django中间件能够可视化应用程序的流量在Kibana中

    Django内置了日志模块,可以通过配置`LOGGING`设置来定制日志行为。在中间件中,我们可以使用`logger`模块记录每个请求的相关信息,如URL、HTTP方法、响应状态码等。 3. **Elasticsearch - 数据存储** Elastic...

    Django-ORM-多表的图书管理系统

    在 Django 中,我们可以使用 `LOGGING` 设置来配置日志文件。日志文件是指记录应用程序的日志信息。 其他相关总结 在 Django 中,我们可以使用重定向来完成对应操作后,返回到某个指定的路径。我们也可以使用 `pk`...

    python的基于django的记录日志系统

    Django提供了一个logging模块,我们可以配置它来记录应用的事件。在这个项目中,我们可能会创建自定义的日志处理器和记录器,以便在数据库中存储日志信息。 6. **模板系统**: Django的模板语言允许我们创建动态...

    django中的setting最佳配置小结

    在Django框架中,`settings` 文件是项目的核心配置,它定义了项目的各种行为和特性。下面我们将深入探讨一些最佳实践和常见配置。 1. **DJANGO_SETTINGS_MODULE**: 这是一个环境变量,用于指示Python查找settings...

    Django logging配置及使用详解

    在Django中,日志模块基于Python标准库`logging`实现。它提供了一种灵活的日志处理机制,允许开发者自定义日志的级别、格式以及存储位置等。 ##### 2.2 日志级别 日志级别用于区分日志的重要性,Django支持以下几种...

    基于python+Django的开源商城系统.zip

    9. 错误处理和日志记录:学习如何处理异常,设置错误页面,以及使用logging模块进行日志记录。 10. 测试与调试:编写单元测试,确保代码质量,学习使用Django自带的测试工具。 11. 部署与维护:了解服务器环境配置...

Global site tag (gtag.js) - Google Analytics