Thank you for your feedback.
Form temporarily unavailable. Please try again or contact docfeedback@servicenow.com to submit your comments.

Script Debugger and Session Log

Log in to subscribe to topics and get notified when content changes.

Script Debugger and Session Log

The Script Debugger allows users with the script_debugger role to debug server-side JavaScript, while the Session Log allows you to view and download required logs.

The Script Debugger enables each user with the script_debugger role to:
  • Have a dedicated debug transaction, which applies only to the current session.
  • Set and remove breakpoints.
  • Pause the current session at a breakpoint.
  • Step through code line-by-line.
  • Step into and out of function and method calls.
  • View the value of local and global variables.
  • View the value of private variables from function closures.
  • View the call stack.
  • View the transaction that the system is processing.
  • Turn off the script debugger to resume running paused scripts.

Only users with the script_debugger role can access the Script Debugger.

Use Session Log to retrieve the session log for business rules, script includes, and a custom UI such as Agent Workspace that has a GraphQL component. Users with the script_debugger role can:
  • View session logs in a separate tab.
  • Download a log.
  • View logs for Agent Workspace.
  • Specify debug options to view or download only the required logs.
By default, 100 transactions and 10000 messages are displayed in Session Log. If the transaction or message count exceeds the default value, the session log is cleared and the next transactions or messages are displayed. You can configure this transaction and message count using the glide.debugger.log.transaction.count and glide.debugger.log_messages_limit user preferences respectively. For more information about the glide.debugger.log.transaction.count and glide.debugger.log_messages_limit user preferences, see User preference settings.
Note: Enable Session Log as a separate tab with Script Debugger using the glide.debugger.log.ui system property.
  • The Page option displays logs under forms and lists and on the Session Log tab.
  • The Session option displays logs only on the Session Log tab.

For more information about the glide.debugger.log.ui system property, see Available system properties.

The Script Debugger can pause any server-side script that runs in an interactive transaction such as business rules, script includes, script actions, or UI actions that require a response to proceed. If the GlideSystem method isInteractive() returns true when running the script in context, then the Script Debugger can pause it.
Note: Some script objects, such as script includes, can be called from multiple contexts. When a business rule runs a script include on form submit that is an interactive transaction waiting on the form data to change before continuing. When a scheduled job runs the same script include that is a non-interactive background transaction that can also run other scripts simultaneously.

To debug client-side scripts, you can use browser-based developers tools.

A debugger transaction remains open as long as the user session is valid. If a user logs out or their session times out, the system closes the debugger transaction.

To view debug logs, see Display debugging logs.

Feedback