The Now Platform® Washington DC release is live. Watch now!

Help
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Mark Roethof
Tera Patron
Tera Patron

Hi there,

Ok don't forget completely about adding log statements to Server Side script 🙂 Though I wanted to highlight a really nice small addition made in the Orlando release on the Script Editor. A small addition called "logpoint". When enabled you could simply add a "logpoint" - similar like a breakpoint - on which you could add a temporary log statement, without updating/changing the actual script!

So it should be more flexible, no updates on scripting needed anymore, no accidental log statements transferred to production and you could use this for debugging purposes on any instance.

Working with the Script Editor

Not familiar (enough) with working with the Script Editor? A few weeks back, I wrote an extensive article about "Utilizing the Script Editor". This article also contains the additions made to the Script Editor with the New York release.

Orlando

With the Orlando release, the Script Editor has been enhanced again. Two catching enhancements I would like to highlight:
- Find References;
- Logpoint.

Find References is available when performing a right-mouse click on recognized Script Includes in the Script Editor and selecting "Find References" from the context menu. Basically, this will generate a list of files referencing the Script Include. Read more about this on the Docs: JavaScript syntax editor [https://docs.servicenow.com/bundle/orlando-application-development/page/script/general-scripting/concept/c_SyntaxEditor.html]

find_real_file.png

Logpoint is available when performing a right-mouse click on a line number on the Script Editor within the Platform UI and selecting "Add logpoint" from the context menu. Basically, this will set breakpoints or conditional logpoints to log messages to the console at specific lines and remove logpoints when you are done debugging them.

find_real_file.png


Activating logpoints

Out-of-the-box the logpoints functionality is not activated. You can easily activate this through setting System Property "glide.debug.log_point" to "true".


Using logpoints

To get your first touch on using logpoints, let's just add a new Business Rule on the Incident table, which triggers on Update, maybe add a condition like Short Description changes. Within the Script field of the Business Rule, on a random line number simply right-mouse click for the context menu to appear. Here you could add something like "gs.info('>>>DEBUG: Orlando logpoints test')".

find_real_file.png

You can verify the logpoint was set by hovering over the greenish marking on the line number. Adding multiple logpoints to the same script is possible.

find_real_file.png

After setting the logpoints, activate the Debug Log. Do this by:
1) Navigating to "System Diagnostics > Session Debug > Debug Log"
- OR -
2) Opening the Script Debugger from the Script Editor toolbar and activating  "Log" under "Settings".

When triggering this Business Rule, the logpoint should have generated the gs.info statement. When opening the System Logs you should be able to find your log statement.

find_real_file.png

This could also be done when using the Script Debugger.
find_real_file.png

Wow! Log statements generated without actually editing scripting, really nice.

Note: Add the logpoint on a line in the Script Editor which contains actual code being executed. If you would add the logpoint on a blanc line or a commented line, the logpoint will not be executed.


Platform UI versus Service Portal Designer, Virtual Agent Designer, etcetera

There is a "small" note I have to make… this all works really nice when using the Script Editor on the Platform UI. The Script Editor available on Script type fields. On Script fields on the Service Portal Designer, Virtual Agent Designer, etcetera… unfortunately, the behavior of the Script Editor is not exactly the same and actually very limited. The new enhancements described in this article, do not apply to the Service Portal Designer, Virtual Agent Designer, etcetera.

---


And that's it actually. If any questions or remarks, let me know!

đź‘Ť
If this post helped you in any way, I would appreciate it if you hit bookmark or mark it as helpful.

Interested in more articles, blogs, videos, and Share projects on Script Editor I published?
Script Editor


Kind regards,
Mark
2020 ServiceNow Community MVP
2020 ServiceNow Developer MVP

---

LinkedIn

Comments
Mark Roethof
Tera Patron
Tera Patron

.

siva_
Giga Guru

Hello Mark, 

I tried following your steps and it didnot work for me 

I turned on the property which enabled an additional "Add log point " option but when i added ,nothing appeared in the log table on my instance 

Are there any limitations such as on which lines this needs to be used.

Any syntactical rules that are to bPle present 

can we use gs.log() instead of gs.info()

find_real_file.png

I am able to trigger the script but logpoint is not avaiable on the log table.

Thanks,

Siva

Mark Roethof
Tera Patron
Tera Patron

Have to reproduce. Though didn't try with gs.log. gs.log is also pre-2015 🙂 See this slide from 2015:

find_real_file.png

Kind regards,
Mark
2020 ServiceNow Community MVP
2020 ServiceNow Developer MVP

---

LinkedIn
Community article list

Mark Roethof
Tera Patron
Tera Patron

Reproduced with using gs.log('>>>Debug Test', "TEST");
Looks to be working fine. Your screenshot also looks oke.

Did you also activate the Debug Log? (from the Script Debugger or "System Diagnostics > Session Debug > Debug Log").

Kind regards,
Mark
2020 ServiceNow Community MVP
2020 ServiceNow Developer MVP

---

LinkedIn
Community article list

Mark Roethof
Tera Patron
Tera Patron

.

Mark Roethof
Tera Patron
Tera Patron

.

Roger Poore
Kilo Guru

Yeah, this isn't working for me either.  I enabled the property and see the new functionality but never see my gs.log text in either the session log window or system logs.  I've tried with gs.info as well.

I do see log entries...just not the one I want. 

Is it supposed to be on a line with code or a blank line?  This page says a blank line.

Mark Roethof
Tera Patron
Tera Patron

Hi there,

Just tried again according to what I wrote earlier in this article, still works here.

Not logpoint specific, though general: see the comment on usage of gs.log in my previous reply. 

Did you:
- Add the property?
- Activate the debug log?
- Added the logpoint on a line with code that is being executed?

Kind regards,
Mark
2020 ServiceNow Community MVP
2020 ServiceNow Developer MVP

---

LinkedIn
Community article list

Roger Poore
Kilo Guru

Yep.  All the above.  One of my teammates tried as well with the same results.  Seems like I'm going to have to open a Hi ticket on the matter.

Thanks
 -Roger

Roger Poore
Kilo Guru

Ok, I did get it to work in my PDI (Paris) but it only shows in the system logs. The session log in the debugger doesn't show it.  And it DOES have to be on a functional code line.  ServiceNow needs to change their documentation.  

Mark Roethof
Tera Patron
Tera Patron

.

Version history
Last update:
‎02-15-2020 10:56 PM
Updated by: