Accessing Tomcat Logs In Real Time

Update: Just to add that these Tomcat logs are node specific. So if you want to watch another user’s transactions, you need to  be on the same node as that user. To switch nodes, you can use my Chrome Extension that’s on the store. More info is here

When trying to debug an issue, you add alert statements, log statements and info messages to a script attempting to understand what’s going wrong.

Often you can find the root cause relatively quickly. But other times, no matter how hard you look, something seems to be failing at a lower level. This is where the Tomcat server logs come in handy.

Accessing these usually requires downloading the log file and tracking down the exact time to find the issue.

The easier option is to watch the logs being written in real time with this simple Out of the Box UI Page and loading up whichever action your performing in one window, and watching the logs on the other window side by side: Continue reading

Clearing Values On Catalog GlideList

A few days ago I posted custom functionality on how to set the value of GlideList variables. Today I had a request from a colleague to find out how to create an equivalent function to g_form.clearValue(variableName) on a GlideList. Again, it turns out this hasn’t been implemented for the new variable GlideList (amongst other functionality). I assume these will all be added over time in the future release, but for now, I wrote a quick function that can be used to replicate the functionality:

Continue reading

Setting Value On Catalog GlideList

A colleague showed me last week how to turn a List Collector variable (slush bucket) into a GlideList variable like on forms. I don’t know how long this option has been around for [edit: Was introduced with Helsinki] but it’s super easy (and I was very impressed because I’ve wanted to catalog GlideList fields in ages). All you do is create a variable of type List Collector as normal and then set the ‘Variable Attributes’ field to ‘glide_list’.

And that’s all there is to it, navigate to the catalog form and you’ll see the Glide List variable. I thought that was the end of it but then the next step was to populate the variable using a client script. It turns out g_form.setValue doesn’t work as expected. What next then?

Continue reading

Decrypting Password Fields Automatically

We had an issue recently with some interfaces after client’s Istanbul upgrade. Initially we thought someone may have updated a password on one of the data sources. We had to then do some simple coding as a background script to see what the password actually was (and repeated per interface during debugging).

This led me to write the attached code below. Very simply it adds a padlock icon next to each password2 field, when clicking the icon, it’ll pop up showing the decrypted value.

(password2 fields can be decrypted whereas password type fields such as the password field on the sys_user table use a one way encryption method so this functionality can’t be used on those fields.)

Aug 30 2017 1-01 PM

Note: This uses JQuery to insert the icon so will flag up on an ACE report. It inserts the action in the same manner which g_form.addDecoration uses

Continue reading