C jak configure

Marzec 16, 2009

DJANGO – własne logi

Filed under: django,konfiguracja,programowanie — erendil @ 1:55 pm
Tags: ,

Mały middleware zapisujący do pliku wszystkie żadania HTTP i zapytania SQL wraz z czasem ich wykonania.

W głównym katalogu naszego programu(tam gdzie mamy url.py, settings.py itd) tworzymy plik logowaczka.py o poniższej treści:

# logowaczka.py
from django.db import connection
from django.conf import settings
from datetime import datetime

class Logowaczka(object):

def process_response(self, request, response):
file = open(‘logowaczka.txt’,'a’)
if not request.path_info.startswith(‘/media/’):
# Http
text = ‘-’ * 120
text += ‘nPrzetwarzany URL %s (for %s at %s)’ % (request.path, request.META.get(‘REMOTE_ADDR’), datetime.now())
text += ‘n ID sesji: %s’ % request.COOKIES.get(‘sessionid’)
text += ‘n Parametry: [%s] %s %s’ % (request.method, request.raw_post_data, request.META.get(‘QUERY_STRING’))

# SQL
for q in connection.queries:
sql, time = q['sql'], q['time']
text += ‘ > %sn Czas zapytania SQL: %sn’ % (sql, time)

print >> file, text
file.close()
return response

W settings.py dodajemy do middleware naszą klasę:

MIDDLEWARE_CLASSES = (
‘django.middleware.common.CommonMiddleware’,
‘django.contrib.sessions.middleware.SessionMiddleware’,
‘django.contrib.auth.middleware.AuthenticationMiddleware’,
‘logowaczka.Logowaczka’,

)

Tworzymy plik logowaczka.txt:

touch logowaczka.txt

Odpalamy django.

Theme: Rubric. Blog na WordPress.com.

Follow

Otrzymuj każdy nowy wpis na swoją skrzynkę e-mail.