debugノードを使う

前回の記事で使ったdebugノードの動きをもう少し見てみたいと思います。debugノードはその名の通り、デバッグに使います。ログを出力してフローが期待通り動いているか確認できます。公式ドキュメントはこちら

debugノードのプロパティ

フローエディタでdebugノードをダブルクリックしてプロパティを確認します。出力対象のデータは「対象」で指定します。選択肢は以下の通りです。
  • msgオブジェクト配下のプロパティ
    • 前回の記事みたいに、msgオブジェクト配下の特定プロパティをピンポイントで出力します
  • msgオブジェクト全体
    • msgオブジェクト全体を出力します。どんなプロパティがあるかわからないときに中身を全部出力する場合に使えそうですが、余計な情報も出力されてしまうデメリットもあります
  • JSONata式
    • JSONata式」という名前は初めて聞いたのですが、JSONオブジェクトからデータを抽出するためのクエリだそうです
    • 公式サイトを見たところ、結構いろいろなことができそうです。これはこれで深そうなので、別の機会にもう少し深く掘ってみたいと思います


出力先の選択肢は以下のとおりです。

  • デバッグウィンドウ
    • Node−RED画面上のデバッグウィンドウに出力します
    • デバッグウィンドウ上のログにマウスオーバーすると、そのログを出力したノードの枠線がハイライトされます。debugノードがたくさんあるときにどこで出力したログか識別するのに便利そうです

  • システムコンソール
    • Node-REDを起動したコンソール(いわゆる黒い画面)上に出力します
    • 15 Sep 23:41:24 - [info] [debug:3d75809c46e7737f]
      { _msgid: '820edd68e4b23359', payload: 'Hello World!', topic: '' }  
  • ノードステータス(32文字)
    • フローエディタ上でノードのすぐ下に出力します
    • 他のオプションと異なり、出力する内容を別途指定できるので、ノードのステータスを端的に表現する用途で使えそうです

その他のプロパティは各ノード共通のプロパティのようです。ノード名称やノードの説明、見た目を変更できます。

debugノードの右側にあるボタンを選択すると、有効/無効の切り替えができます。開発時はデバッグログを有効化しておき、運用時はログ出力を抑制すれば、わざわざノードを削除する必要がないので便利そうです。


まとめ

debugノードの使い方としては、なんだかよくわからないときはmsgオブジェクト全体を出力。状況が絞り込めてきたらプロパティピンポイントで出力指定。複雑な条件を与えたいならJSONata式する、みたいな感じでしょうか。次はinjectノードをもう少し詳しく見ていきたいと思います。


コメント

このブログの人気の投稿

Execノードを使う

SendGridのX-SMTPAPIヘッダの使い方(Section Tags、Substitution Tags編)

Joinノードを使う(その4)