[Python-de] Traceback ohne Exception

Henning.Ramm at mediapro-gmbh.de Henning.Ramm at mediapro-gmbh.de
Mit Okt 5 17:28:29 CEST 2005


>versuch es mal mit sys._getframe(1). Die Funktion liefert dir ein 
>Frame-Objekt zurück. Falls "sendLog" aus einer Funktion heraus 
>aufgerufen wollte (das wird wohl die Regel sein...), dann kommst du an 
>den Funktionsnamen mit frame.f_code.co_name an den Namen der Funktion.

Danke, das funktioniert!

    def sendLog(self, message, level='INFO', **kwargs):
        """
        Sends a 'Log' signal using dispatcher and reactor.

        `message`
            can be anything, but must be str()able,
            unchanged message is sent as 'message', str(message) as 'text' key.

        `level`
            should be in '(DEBUG, INFO, WARNING, ERROR, CRITICAL)'
        """
        f = sys._getframe(1) # Daten zur aufrufenden Funktion
        return reactor.callLater(0, dispatcher.send, sender=self,
            signal='Log', level=level, frame=f,
            text=str(message), message=message, **kwargs)

Grüße vom Südsee!
Henning Hraban Ramm
Südkurier Medienhaus / MediaPro
Systembetreuung / Systementwicklung