Hinzufügen eines Datums- / Uhrzeitstempels zum Python-Druck

8

Ich versuche, das Verhalten einer großen Bibliothek zu debuggen, von der ich abhängig bin, die eine Streuung (keine Fülle) von Debug-Druckanweisungen durch ihre vielen Quelldateien verwendet. Problematisch ist, dass die meisten, wenn nicht alle dieser Debug-Print-Anweisungen keinen Datums- / Zeitstempel enthalten, so dass es schwierig ist, Fehler auf Anwendungsebene mit Fehlern innerhalb des Bibliothekscodes selbst zu verbinden.

Anstatt den Quellcode für alle Debug-Prints zu ändern, von denen vermutet wird, dass sie in den Fehler involviert sind, dachte ich, dass es möglich ist, die integrierte Python-Print-Funktion vorübergehend zu installieren >, damit allen Ausgaben ein Zeitstempel vorangestellt wird.

Da der eingebaute Ausdruck keine Funktion ist In der Python 2.6-Umgebung, mit der ich arbeite, weiß ich nicht, ob das möglich ist. Wenn jemand dies getan hat oder ein ähnliches Ergebnis mit einem anderen Hook in Python erreicht hat, wäre ich für Ihren Rat oder besser noch den Code für eine Lösung für dieses Problem dankbar.

    
codeasone 03.02.2011, 08:22
quelle

2 Antworten

16

Da Sie die Funktion write nicht überschreiben können (sie ist schreibgeschützt), könnte ein einfaches Affe-Patch so aussehen (hängt den Zeitstempel an jede gedruckte Zeile an):

%Vor%

Ein Beispiel würde so aussehen:

%Vor%     
rumpel 03.02.2011, 08:33
quelle
5

Alternative Lösung, dass der Zeitstempel der Anfang (vorangestellt) statt Ende (angehängt) ist:

%Vor%     
Velizar VESSELINOV 19.07.2014 14:04
quelle