Logic Designerにはログを出力する方法が用意されていますが、Logic Designerのログ出力タスクは system.log に出力されるのでAPサーバにログインしないとログが確認できないという問題があります(適当に作った環境だとログフォルダ参照権限設定してなかったり)
そういった場合、ストレージファイルにログを出力するフローを作成しておくと便利です
入出力設定
変数定義
定数
定数ID | 定数値 | 説明 |
---|---|---|
DATA_REP1_DATETIME | <DATETIME> | ログ出力 置換文字1 |
DATA_REP2_HEADER | <HEADER> | ログ出力 置換文字2 |
DATA_REP3_DATA | <DATA> | ログ出力 置換文字3 |
DATA_TEMPLATE | <DATETIME> <HEADER>:<DATA> | ログ出力フォーマット ※末尾改行すること |
LOG_FILE_NAME | debug.log | ログのファイル名 |
LOG_OUT_PATH | /00_test_data/log/ | ログの出力先 |
TIME_FORMAT | yyyy/MM/dd HH:m m:ss | ※mmの間のスペースは絵文字回避なのでいらないです |
出力先パス設定(変数操作)タスク
現在時刻取得(変数操作)タスク
パブリックストレージ取得 タスク
ストレージ追記(文字列) タスク
ログ出力フォーマットの置換文字を対応する変数で置換してストレージに書き込んでいます。
使い方
入力引数の headerStr に特定用の文字列、dataJsonStr に(String型の)変数指定すればストレージ上の指定した(ログの出力先+ログのファイル名)場所にファイルが出力されますのでintra-martのテナント管理 - ファイル操作 などから参照してください。
また、このフローは各種フローの最初で呼び出すと便利です。
セッション情報の flowId を headerStr に
入力<object>を toJSON して dataJsonStr に設定
しておくと、個別でフローをデバッグしたいときにログから対象のフローIDでログを検索して JSON部分を取得するとそのままデバッグのJSON入力に利用できる ので便利です。
※日付型とかは そのままJSON入力として利用できないみたいなのでnullとかに修正してみてください。