Protokolle
Verwendung von Protokollen für die Fehlersuche in Anwendungen
Während des Entwicklungsprozesses kommt es häufig zu Situationen, in denen das tatsächliche Ergebnis der Anwendung nicht mit dem erwarteten übereinstimmt. Selbst bei einfachen Geschäftsprozessen mit einer geringen Anzahl von Blöcken kann die Identifizierung von Fehlern schwierig sein, und bei großen Projekten wird der Einsatz zusätzlicher Tools zur Fehlerbehebung unumgänglich.
In diesem Modul befassen wir uns mit dem Debugging von Anwendungen, d. h. mit der Entwicklungsphase, in der Fehler erkannt, lokalisiert und behoben werden.
Das grundlegendste Werkzeug zur Fehlersuche ist die Verwendung eines Protokolls, d. h. die Bildung bestimmter Einträge für die weitere Analyse. Betrachten wir dies am Beispiel des Geschäftsprozesses "Basic functions", der im vierten Modul erstellt wurde.
Der Zweck des Geschäftsprozesses war es, zwei Zahlen zu erhalten, um mit ihnen bestimmte mathematische Operationen durchzuführen. Nehmen wir an, wir möchten etwas auf dem Weg dorthin überprüfen und uns nicht nur auf das Endergebnis (oder dessen Fehlen) konzentrieren.
Wir verwenden das Protokoll, um das zu gewährleisten:
- Der Geschäftsprozess hat wirklich begonnen
- Der Round Block erhält den richtigen Wert als Eingabe
- die Anzahl der Elemente des Arrays vor dem Ende des Geschäftsprozesses unseren Erwartungen entspricht (5)
Write to Log Block
Um dies zu erreichen, werden wir den Geschäftsprozess selbst leicht verändern und Write to Log Blöcke hinzu, die, wie der Name schon sagt, Informationen in das Protokoll schreiben.
Wir verwenden den ersten Write to Log Block am Anfang des Geschäftsprozesses. Er kann zwei Parameter als Eingabe annehmen: Label (für den Titel des Eintrags) und Input (der Eintrag selbst). In diesem Fall wird die Tatsache des Beginns eines Geschäftsprozesses aufgezeichnet, so dass es nicht notwendig ist, Parameter aus einer anderen Quelle zu übernehmen. Es reicht aus, den Bestätigungstext anzugeben. Daher schreiben wir den Text "Basic functions BP start" als Input.
Der nächste Protokolleintrag wird vor dem Round Block. Und in diesem Fall wird der Datensatz nicht mehr fixiert. Input erhält einen Wert mit dem Ergebnis der Division, über den in Zukunft eine Rundungsoperation durchgeführt werden muss. Die gute Nachricht ist, dass Write to Log jede Art von Werten annehmen kann als Input (in diesem Fall wird es Float sein), und es ist nicht notwendig, in String zu konvertieren, um zu schreiben.
Am Ende müssen Sie die Anzahl der Elemente im Array aufschreiben. Um dies zu tun, müssen Sie die Anzahl der Elemente ermitteln, denn wir haben das Array selbst, nicht seine Größe. Daher wird zusätzlich zu Write to Logverwenden wir den Array Size Block.
Backend-Protokolle
Danach können Sie die Anwendung veröffentlichen, den Geschäftsprozess ausführen und das Ergebnis sehen. Gehen Sie auf die Registerkarte CI/CD Registerkarte im Application Logs Abschnitt, um dies zu tun.
Der Eintrag bp_log in der Spalte Source Spalte bedeutet, dass dieser Eintrag durch den Write to Log Sperre. So können wir sicherstellen, dass der Geschäftsprozess korrekt funktioniert und die Protokolle tatsächlich geschrieben werden. Außerdem können Sie hier verschiedene Systemprotokolle sehen, z. B. dass das Ergebnis des Endpunkts erfolgreich empfangen wurde (Status: 200), von welcher IP-Adresse der Start erfolgte und welche Parameter verwendet wurden.
Frontend-Protokolle
Ein Block mit demselben Namen (Write to Log) ist auch bei der Erstellung von Frontend-Geschäftsprozessen zu sehen. Verwenden wir ihn für das Y Werteingabefeld. Wir wollen Informationen darüber notieren, welcher Wert eingegeben wurde (Input: Value = ) und in welcher Komponente (Label: Y log :).
In diesem Fall arbeitet der Block ausschließlich auf dem Frontend. Es werden keine Anfragen an den Server gesendet; dementsprechend werden auch keine Ergebnisse dieses Blocks in den Serverprotokollen erscheinen. Es stellt sich die logische Frage, wo diese dann zu suchen sind.
Dazu müssen Sie die Komponente Developer Tools im Browser öffnen. Die Startmethode und der Name selbst können sich je nach verwendetem Browser leicht unterscheiden, aber die Hauptsache ist, dass jeder moderne Browser diese Funktion unterstützt und das allgemeine Funktionsprinzip dasselbe ist.
In unserem Beispiel wird der Google Chrome Browser verwendet werden. Um die Entwicklertools zu aktivieren, können Sie den entsprechenden Menüpunkt in den Einstellungen (More tools -> Developer tools), das Tastaturkürzel Ctrl + Shift + Ioder einfach die Taste F12. Hier stehen viele verschiedene Funktionen zur Verfügung, z. B. die Anzeige des HTML-Codes einer Webseite, die Verfolgung von Netzwerkanfragen und vieles mehr. Im Moment interessieren wir uns jedoch für den Console Abschnitt. Er ermöglicht es Ihnen, das Ergebnis der JavaScript-Arbeit zu verfolgen und Front-End-Fehler zu diagnostizieren, und in der Konsole können Sie das Protokoll sehen, das vom Write to Log Block.
Wir haben die Zahl "4" in das Eingabefeld Y eingegeben und sichergestellt, dass das Write to Log wie geplant funktioniert. In der Konsole erschien ein Eintrag "Y log: Value = 4".