
こんにちは。CData Software Japan の色川です。
ArcScript は、CData Arc に標準搭載されているXML ベースのスクリプト言語です。Arc はコネクタを組み合わせたノーコードでのデータ連携フローで多くの複雑な連携ケースを処理できるようにデザインされていますが、一部の応用的なシナリオではArcScript を利用したローコードでのビジネスロジック作成が便利です。
ArcScript で実現したビジネスロジックの中では、独自のログを出力したいケースもあるかと思います。そこで、この記事では「ArcScript でのログ出力」についてご紹介します。
Arc のログとArcScript の基本
Arc では「フローを流れるメッセージ単位のログ」や「アプリケーション単位のログ」、Arc が提供する「エンドポイントへのアクセスを記録したログ」や、設定の変更等が記録される「監査用のログ」など、様々なログが提供されており、それらはアクティビティページから包括的にアクセスすることができます。
ArcScript は豊富なデータアクセスやデータ処理のコンポーネントも備えたハイレベルなプログラミング言語です。この記事では、ArcScript からアプリケーションログやメッセージログへ出力するときの設定例をご紹介しますが、ArcScript の基本についてはこちらのヘルプトピックやナレッジベースも活用してください。

ArcScript でのログ出力
それでは、ここからは「ArcScript でのログ出力」の設定例についてそれぞれ見ていきたいと思います。
ArcScript でアプリケーションログへ出力

ArcScript でアプリケーションログへ出力するには、_log オブジェクトを利用します。_log はArc のアプリケーションログにアクセスするための特殊なアイテムで、このオブジェクトを利用することで、Arc のアプリケーションログへ任意の文字列を出力することができます。


_log オブジェクトを利用したアプリケーションログへの出力は、「ログ情報」のコードスニペットを利用して設定すると便利です。

アプリケーションログへ出力する際に、エラー(のログレベル)として出力したい場合は、属性をerror として(_log.error として)構成することで実現することができます。

ArcScript でメッセージログへ出力

アプリケーションログではなく、コネクタで処理したメッセージに対するメッセージログへ任意の文字列を出力することもできます。
送信前イベントや受信後イベントなど、各コネクタでイベントフックとして用意されている定義済イベントでアプリケーションログへ出力するには、_message オブジェクトを利用します。_message は、定義されたコネクタイベントや、特定の許可されたフィールドなど、ArcScript が利用できるコンテキストでメッセージの本文やメタデータにアクセスするための特殊なアイテムです。このオブジェクトのlog 属性に有効なログレベルを指定して利用することで、メッセージログへ任意の文字列を出力することができます。


その他
主な利用シーンとしては、上記のような_log オブジェクトや、_message オブジェクトを利用したログ出力が多いと思いますが、それ以外にも幾つかご紹介します。
Script コネクタでメッセージログへ出力
メッセージの処理や出力にScirpt コネクタを利用している場合に、実行するArcScript からメッセージログへ出力する際は、push するアイテムのlog 属性を利用することができます。
例えば、Script コネクタで以下のようにlog 属性を指定すると、メッセージログにvalue で指定した値が出力されます。
<arc:set attr="output.filepath" value="[filepath]" />
<arc:set attr="output.log" value="This is a new log entry!" />
<arc:push item="output" />


ArcScript でWindows イベントログへ出力
Windows 環境において、.NET 版を利用している場合、ArcScript でWindows のイベントログへ出力することもできます。Windows イベントログへの出力は「イベントログに書き込み」のコードスニペットを利用して設定すると便利です。


なお、この機能を利用するためには、Arc の実行ユーザーアカウントでWindows イベントログへアクセスできる環境が必要です。
まとめ
この記事では「ArcScript でのログ出力」についてご紹介しました。ArcScript で実現したビジネスロジックの中では、独自のログを出力したいケースもあるかと思いますので、ぜひ活用してください。また、Arc の実行エンジン上で動作するArcScript では、特定の対話的なデバッガー等はサポートされていませんので、このような任意のログ出力は、ArcScript を利用したロジックの開発(デバッグ)プロセスでも活かしていただけると思います。
Arc は構成により、複数のフローやコネクタが並行的に動作するケースもありますので、ログに出力するメッセージの内容には、処理しているコネクタやメッセージなど、コンテキストを識別できる情報を含めておくことも有効です。
CData Arc はシンプルで拡張性の高いコアフレームワークに、豊富なMFT・EDI・エンタープライズコネクタを備えたパワフルな製品です。CData Drivers との組み合わせで270を超えるアプリケーションへの連携を実現できます。
皆さんのつなぎたいシナリオでぜひ CData Arc を試してみてください。
CData Arc - セキュアなデータ連携とマネージドファイル転送(MFT)
製品を試していただく中で何かご不明な点があれば、テクニカルサポートへお気軽にお問い合わせください。
CData Software Japan - Support Form
この記事では CData Arc™ 2024 - 24.3.9159.0 を利用しています。
関連コンテンツ