Seite 1 von 1

logging ausgaben in django apps...

Verfasst: Freitag 19. März 2010, 17:27
von jens
Ich hab in django-weave bei dem entwickeln einfach mal das im view.py gemacht:

Code: Alles auswählen

import logging
logging.basicConfig(level=logging.DEBUG)

def foo_view(request):
    logging.debug("blabla")
Nun ist es so weit, das man django-weave releasen kann, weil es funktioniert. Da frage ich mich doch, wie soll man das logging in der endversion handhaben?

Der Admin sollte selber bestimmen könne, was wie wo geloggt werden soll.
Also einfach "logging.basicConfig(level=logging.DEBUG)" auskommentieren und gut? Der Admin kann dann in seiner settings.py das einstellen, wie er will?

Nett ist ja eigentlich auch, das man mit logging.getLogger() einen "eigenen" logger erstellen kann. So könnte jede django app einen eigenen logger erstellen und nutzten. Aber wie?

Kennt jemand eine "Best Practice" Anleitung dazu?

Verfasst: Samstag 20. März 2010, 11:34
von sma
Logging in jeder Datei (in deinem Fall wohl für views) zu konfigurieren (und dann ggf. auszukommentieren) ist IMHO keine gute Idee. Bei Django kann man es denke ich in den settings definieren, weil dort auch alles andere in Python konfiguriert wird. Oder man nutzt die Möglichkeit, eine Logging-Konfigurationsdatei zu benutzen. Pythons logging wurde ja offenbar nach dem Vorbild von log4j entwickelt und dort wäre der Ansatz mit einer Konfigurationsdatei der Standard.

Wichtig fände ich noch, verschiedene Logger je nach Aspekt zu benutzen. Also nicht immer nur den Root-Logger, sondern in einem View z.B. einen eigenen Logger, damit man ggf. nur Modelle für die Benutzerverwaltung, aber keine Views loggen kann usw.

Stefan

Verfasst: Samstag 20. März 2010, 14:15
von jens
Mein Kollege hat sich was von http://pypi.python.org/pypi/django-auth-ldap/ ab geschaut, siehe: http://code.google.com/p/django-weave/s ... etail?r=57

Wobei das nicht nicht wirklich optimal ist.