スクリプトのデバッグ

デフォルトでは、すべてのスクリプト関連のロギングは、オートスクリプト・ロガーを使用して行われます。 各スクリプトは、DEBUG、INFO、ERROR などのさまざまなログ・レベルで構成できます。 すべてのスクリプトのデフォルトのセットアップは ERROR です。

このタスクについて

例えば、以下のスクリプトをデバッグするとします。
y=float(iplr)+float(olr)
if y!=float(plr):
  pnr=str(y)
以下のデバッグ・ステートメントを指定します。
print "iplr="+iplr
print "olr="+olr
y=float(iplr)+float(olr)
print "y="+y
if y!=float(plr):
  pnr=str(y)
  print “pnr=”+pnr

オートスクリプト・ロガーのログ・レベルがスクリプトのログ・レベルに設定されていることを確認する必要があります。 例えば、両方とも INFO に設定します。 これにより、print ステートメントが systemout ログに表示されます。 必要な場合、このロガーによって生成されたログ・ステートメントは、スクリプト関連のログ・ステートメントのみを保持する専用のログ・ファイルにリダイレクトすることができます。 print ステートメントの構文は、スクリプトの作成に使用されている言語によって異なります。 また、自動化スクリプト・ロガーが ERROR レベルのログのみに設定されている場合、自動化スクリプト内の print ステートメントはログ・ファイルに書き込まれません。

スクリプト・フレームワークは、スクリプトの完了後に情報をログに記録します。 これにより、特に実行時間の長いスクリプトの場合に、理想的なデバッグ・セッションが作成されることはありません。 service.log API セットを使用して、スクリプトの実行中にログに記録します。 個々のスクリプトの有効範囲でロガーを設定できます。 スクリプト名を使用してロガーを作成し、それに応じてログ・レベルを設定します。

基本自動化スクリプト・ロガーが ERROR レベルに設定されています。 自動化スクリプト・アプリケーションから、スクリプト ABC のログ・レベルを INFO に設定します。 以下のスクリプト・コードを使用します。
service.log("hey there - I am in Asset "+mbo.getString("assetnum"))

オブジェクト起動ポイントを使用して、このスクリプトを ASSET init イベントにバインドします。 資産を初期化すると (例えば、ASSET アプリケーションのリスト・テーブルから)、このログがほぼリアルタイムで表示されます。 ただし、ロガーは ABC スクリプトに対してのみ設定されているため、他のスクリプトではログは表示されません。