Hallöööchen!
Wir benutzen im Moment bei dauCMS Fehlerklassen für Fehlermeldungen. Kein Problem. Wir haben aber auch ein Logging-System, was eventuelle Fehlermeldungen in einen Log schriebt.
Nun schreibe ich an einem System, welches Fehlermeldungen, infos usw. automatisch in die Log-Datei schreibt und nur einfache Meldungen ausgibt. Im 'Debug'-Modus aber auch Fehlermeldungen ausgibt.
Hier wollte ich mich erst einmal informieren, wie so etwas gut zu lösen wäre. Ich weiß ja, das die Ein-Ausgabeströme über sys.stdin und sys.stdout gehen. Fehlermeldungen über sys.stderr.
Kann ich die irgentwie Überladen? -- Und eine Klasse schreiben, die dann die Ausgabefunktionen übernimmt?
Was müssten die Funktionen können? -- Habt ihr da referenzen?
Ich habe zwar eine Lösung... aber die is etwas sehr unflexibel.
Es gibt einfach in einer Klasse drei Funktionen 'write_log', 'write_cl' und 'write_error'
Das gefällt mir net... wäre Geil, wenn ich sämtliche Ausgaben umleiten könnte...
MfG EnTeQuAK
Frage zu sys.stdin sys.sdout und sys.stderr
[url=http://www.leckse.net/artikel/meta/profilieren]Profilieren im Netz leicht gemacht[/url]
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Umbiegen kannst du sie stdout Dinger so: [wiki]stdout Redirector[/wiki]
Es gibt auch in Python selber ein Logging Gedönse: http://docs.python.org/lib/module-logging.html
Vielleicht sollte man das nutzten? Dann kann man z.B. auch in's Windows/Linux System-Log schreiben.
In PyLucid hab ich ein eigenes SQL-Logging (Ist ein sehr alter Bestandteil), siehe http://pylucid.net/trac/browser/trunk/P ... logging.py
Im Grunde hab ich eine write und call Methode, die man zum loggen benutzten kann.
Neben der eigentlichen Meldung (ein satz) kann man noch ein Typ und ein Status dazupacken. Der Typ ist z.B. "auth" (beim Login) der Status sollte sowas wie ein Error-Code sein. Also wenn z.B. der Login fehlgeschlagen oder erfolgreich ist.
Bisher gibt es allerdings keine richtige Möglichkeiten gezielt aus den Log-Daten sich Daten raus zu picken. Man kann nur alle Log-Zeilen sich anzeigen lassen.
Es gibt auch in Python selber ein Logging Gedönse: http://docs.python.org/lib/module-logging.html
Vielleicht sollte man das nutzten? Dann kann man z.B. auch in's Windows/Linux System-Log schreiben.
In PyLucid hab ich ein eigenes SQL-Logging (Ist ein sehr alter Bestandteil), siehe http://pylucid.net/trac/browser/trunk/P ... logging.py
Im Grunde hab ich eine write und call Methode, die man zum loggen benutzten kann.
Neben der eigentlichen Meldung (ein satz) kann man noch ein Typ und ein Status dazupacken. Der Typ ist z.B. "auth" (beim Login) der Status sollte sowas wie ein Error-Code sein. Also wenn z.B. der Login fehlgeschlagen oder erfolgreich ist.
Bisher gibt es allerdings keine richtige Möglichkeiten gezielt aus den Log-Daten sich Daten raus zu picken. Man kann nur alle Log-Zeilen sich anzeigen lassen.
Das Modul Logging benutzen wir immo ja auch schon Nur halt, das ich gerne die Error-Klassen da mit einbinden wollte und das nicht so ganz einfach war...
@Jens:
Danke, für den Wiki-Link Das hat mir wunderbar weitergeholfen.
MfG EnTeQuAk
@Jens:
Danke, für den Wiki-Link Das hat mir wunderbar weitergeholfen.
MfG EnTeQuAk