ログ
アプリケーションのトラブルシューティングにログを活用する
開発プロセスにおいて、アプリケーションの実際の結果が期待したものと一致しない状況がしばしば発生します。ブロック数が少ない単純なビジネスプロセスであっても、エラーを特定することは困難であり、大規模なプロジェクトでは、追加のトラブルシューティングツールを使用することが必須となります。
このモジュールでは、アプリケーションのデバッグ、つまり、エラーが検出され、特定され、排除される開発段階を扱います。
エラーを発見するための最も基本的なツールは、ログの使用、つまり、さらなる分析のために特定のエントリを形成することです。第4章で作成したビジネスプロセス「Basic functions 」を例にとって見てみよう。
このビジネスプロセスの目的は、2つの数字を取得して特定の数学的演算を実行することである。最終的な結果だけに注目するのではなく、その過程で何かを確認したいとします。
それを確認するためにログを利用するのです。
- ビジネスプロセスが本当に開始されたのか
- この Roundブロックは正しい値を入力として受け取ります。
- ビジネスプロセスが終了するまでの配列の要素数が期待通りであること(5)
Write to Log ブロック
そのためには、ビジネスプロセスそのものを少し変更し、その中に Write to Logこのブロックは、その名の通り、ログに情報を書き込みます。
ここでは、ビジネスプロセスの最初にある Write to Logブロックを使います。これは、入力として2つのパラメータを取ることができます。 Label(エントリーのタイトル) と Input(エントリーそのもの)です。この場合、ビジネスプロセスの開始という事実そのものを記録するので、別のソースからパラメータを転送する必要はない。確認用のテキストを指定すれば十分です。そこで、Inputとして、"Basic functions BP start"というテキストを記述することにします。
次のログ入力は、その前に実行される Roundブロックの前に実行されます。そして、この場合、レコードはもう固定されません。Inputは除算の結果を含む値を受け取ることになり、それに対して将来丸め演算を行う必要があります。良い知らせは Write to Logはどんな型の値でも受け取ることができることです。 Input(この場合,Float)であり,String に変換して書き込む必要がないことです.
最終的には、配列の要素数を書き出す必要があります。しかし、そのためには、サイズではなく、配列そのものがあるので、この量を求める必要があります。そのため、さらに Write to Logを使うことにします。 Array Sizeブロックを使用します。
バックエンドログ
後は、アプリケーションを公開し、ビジネスプロセスを実行し、その結果を見ることができます。アプリケーションの CI/CDのタブをクリックします。 Application Logsセクションに移動して、これを行います。
エントリ bp_logの中にある Sourceの欄は、このエントリーが結果的に Write to Logブロックに格納されます。ビジネスプロセスが正しく動作していること、ログが実際に書き込まれていることを確認できます。さらにここでは、例えばエンドポイントの結果が正常に受信されたこと(Status: 200)、どのIPアドレスから起動されたか、どのようなパラメータが使われたかなど、様々なシステムログを確認することができます。
フロントエンドのログ
同じ名前のブロック (Write to Log) のブロックは、フロントエンドのビジネスプロセスを作成するときにも見ることができます。これを Y値入力フィールドに使ってみましょう。どのような値が入力されたのか(Input: Value = )、どのコンポーネントに入力されたのか(Label: Y log :)という情報を書き留めておきましょう。
この場合、ブロックはフロントエンドのみで動作します。リクエストはサーバーに送信されません。したがって、このブロックの結果はサーバーログに表示されません。論理的な疑問が生じます - では、どこを探せばいいのでしょうか?
そのためには、まず Developer Toolsをブラウザで開きます。どのブラウザを使うかによって、起動方法や名前自体が多少異なるかもしれませんが、最近のブラウザであればこの機能をサポートしており、大まかな動作原理は同じであることが大きなポイントです。
この例では Google Chromeブラウザを使用します。デベロッパーツールを有効にするには、設定の対応するメニュー項目(More tools -> Developer tools )、キーボードショートカット Ctrl + Shift + Iを押すか、単に F12.ここでは、ウェブページの HTML コードの表示、ネットワークリクエストの追跡など、さまざまな機能を利用できます。しかし、今のところ、私たちが興味を持っているのは Consoleセクションに注目してください。JavaScript の作業結果を追跡したり、フロントエンドのエラーを診断したりすることができますし、コンソールでは Write to Logブロックに記録されます。
Y の入力フィールドに数字「4」を入力し、それが Write to Logが計画通りに動作することを確認しました。コンソールに "Y log: Value = 4" というエントリーが表示されました。