[Python-de] traceback abspeichern

Georg Mischler schorsch at schorsch.com
Thu Apr 19 19:36:46 EDT 2001


Martin v. Loewis wrote:

> > Ist es möglich ein traceback-Object auf Platte zu bannen, um den erzeugten
> > File dann per email zur Analyse auf einem anderen Rechner weiterzuleiten?
>
> Von Haus aus nicht, zumindest nicht mit pickle: tracebacks lassen sich
> nicht pickeln.

Ich vermute, das pickeln schiesst da ohnehin weit uebers Ziel
hinaus. Oder sollte da wirklich per mail eine transparente remote
exec Umgebung simuliert werden?


> >   in der gleichen Python-Umgebung lese ich das Ganze ein und kann es
> > analysieren

Ok, diese etwas mehrdeutige Formulierung erklaert die Herkunft
der Pickel-Idee...

Moechtest du wirklich auf einem anderen Rechner in einem anderen
Python-Prozess die gleiche Ausnahme wieder ausgeloest haben?
Oder wuerde es auch schon ausreichen, einfach den Output zur
Kenntnis nehmen zu koennen, und diesen dann bioinformatisch
weiterzuverarbeiten?

In der Praxis duerfte dazu folgendes meistens ausreichen:

	try: main()
    except:
        import traceback
        tb_strs = traceback.format_exception(
                sys.exc_type,
                sys.exc_value,
                sys.exc_traceback)
        f = open('error.log', 'a')
        f.write(string.join(tb_strs))
        f.close()

Wie du das dann per Mail verschickst, ist systemabhaengig.


Viel Spass!

-schorsch

-- 
Georg Mischler  --  simulations developer  --  schorsch at schorsch.com
+schorsch.com+  --  lighting design tools  --  http://www.schorsch.com/




More information about the Python-de mailing list