2016-05-16 3 views

Antwort

1

Es gibt Fälle, in denen inspect.stack() (die von Sentry verwendete Funktion zum Abrufen des Callstacks) ungenau sein kann.

Wenn Sie beispielsweise die Logging-Handler-Integration verwenden, die am häufigsten verwendet wird, ist es möglich, dass der Punkt, an dem emit() aufgerufen wird, einen anderen Stacktrace als der ursprüngliche Aufruf aufweist. Dies ist nicht sehr häufig, hängt jedoch stark davon ab, wie der Protokollstapel verwendet wird.

Zusätzlich sind die Anrufe zu inspect.stack() nicht frei. Die Leistungskosten sind nicht beträchtlich, aber es ist erwähnenswert.

Der Hauptgrund, warum wir (Sentry) diese Art von Funktionalität zurückdrängen, ist, dass captureMessage oft nicht benötigt wird. Es wird hauptsächlich für die Protokollierung verwendet, und Sentry ist nicht zum Aggregieren von Protokollen vorgesehen. Der einzige wirklich unterstützte Fall wäre etwas wie log.warning(), etwas, von dem wir denken, dass es umsetzbar ist, aber keine Ausnahme.

Verwandte Themen