Ich nehme an, du redest von Adobe Flex und zielen auf den Flash Player ab?
Wenn ja, kannst du deine eigene Logging-Wrapper-Klasse schreiben, die Log-Meldungen, die an sie gesendet werden, an mehrere Ziele weiterleitet (wie den Trace-Stack und den internen Speicher, sodass du auf das Log von innerhalb der App zugreifen und es z.B. an einen Server senden kannst, wenn der Benutzer zustimmt, einen Fehlerbericht zu senden). Siehe auch das Flex-Logging-Framework, das so etwas bereits enthält.
Ich habe tatsächlich etwas Ähnliches gemacht - Ich habe eine Klasse namens Log
mit statischen Methoden wie log()
, debug()
, error()
usw., die ich in meinen Apps verwende, und diese Klasse leitet alle Nachrichten, die an sie gesendet werden, über trace()
in den Trace-Stack weiter, in eine "Log-Konsole"-App, die auf dem gleichen Host läuft, über LocalConnection und/oder Socket (eine Socket-Verbindung ist offensichtlich viel schneller als LocalConnection), und speichert sie auch lokal in einem Array, sodass Benutzer Fehlerberichte zusammen mit dem Log-Output direkt aus der App senden können.
Eine solche Änderung bedeutet natürlich, dass du alle trace()
-Befehle in deinem Code in Aufrufe des Logging-Systems übersetzen müsstest, aber das kann mit einer einfachen regex-Suche & Ersetzen leicht erreicht werden.