一覧へ戻る
ITSM

ServiceNow における gs.print(), gs.log(), gs.info() の違いと使い分け

ServiceNow 開発者の皆さん、まだ gs.log() を使っていますか?
実は、もう少し注意が必要です。
ここでは、よく使われる gs.print(), gs.log(), gs.info() の 3 つのメソッドの違いと使い方をわかりやすく解説します。

gs.print() とは?

  • 「Scripts - Background」で即座に結果を画面に出力したいときに最適
  • メッセージはデータベースに残らないため、一時的な確認用に便利

例:

gs.print("テストメッセージ");

gs.log() の注意点

  • 実は Global Scope でしか動作しない古いメソッド
  • 最新の Scoped App ではエラーが出る場合があります
  • 本番コードでの使用は推奨されません

例:

gs.log("ログメッセージ", "ソースカテゴリ");

現在の標準:gs.info()

  • Global Scope でも Scoped App でも問題なく動作
  • ログはきれいに syslog に保存されます
  • 本番環境でのメッセージ記録にはこちらを使うのが安全

例:

gs.info("本番用ログメッセージ");

まとめ

  • 簡単なテストや一時確認には gs.print()
  • 本番用コードでは gs.info()
  • gs.log() は卒業!

これで ServiceNow スクリプトのログ出力は整理され、デバッグもスムーズになります。