summerbell 发表于 2013-1-30 01:39:09

Django中使用logging模块

Django中使用logging模块
在web应用中记录页面访问情况,在jsp里有filter,
在Django里有middleware。
下面的例子就是在中间件里记录页面访问情况。
 
settings.py
 
# Django settings for testsite project.import loggingDEBUG = True# DEBUG = FalseTEMPLATE_DEBUG = DEBUGADMINS = (    # ('Your Name', 'your_email@domain.com'),)MANAGERS = ADMINSDATABASE_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.htmlLANGUAGE_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 loggingclass 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  

 
页: [1]
查看完整版本: Django中使用logging模块