Skip to content

Conversation

@tab22
Copy link
Contributor

@tab22 tab22 commented Oct 27, 2025

PR Description:

The script defines a client-side logging utility called Logger to standardise how developers log messages across various client-side scripts.

Pull Request Checklist

Overview

  • Put an x inside of the square brackets to check each item.
  • I have read and understood the CONTRIBUTING.md guidelines
  • My pull request has a descriptive title that accurately reflects the changes and the description has been filled in above.
  • I've included only files relevant to the changes described in the PR title and description
  • I've created a new branch in my forked repository for this contribution

Code Quality

  • My code is relevant to ServiceNow developers
  • My code snippets expand meaningfully on official ServiceNow documentation (if applicable)
  • I've disclosed use of ES2021 features (if applicable)
  • I've tested my code snippets in a ServiceNow environment (where possible)

Repository Structure Compliance

  • I've placed my code snippet(s) in one of the required top-level categories:
    • Core ServiceNow APIs/
    • Server-Side Components/
    • Client-Side Components/
    • Modern Development/
    • Integration/
    • Specialized Areas/
  • I've used appropriate sub-categories within the top-level categories
  • Each code snippet has its own folder with a descriptive name

Documentation

  • I've included a README.md file for each code snippet
  • The README.md includes:
    • Description of the code snippet functionality
    • Usage instructions or examples
    • Any prerequisites or dependencies
    • (Optional) Screenshots or diagrams if helpful

Restrictions

  • My PR does not include XML exports of ServiceNow records
  • My PR does not contain sensitive information (passwords, API keys, tokens)
  • My PR does not include changes that fall outside the described scope

Copy link
Contributor

@SapphicFire SapphicFire left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for your contribution. However, it is quite simlar to the existing object, jslog(), that exists, and does not work as described. It also requires changes in production to enable debug logging, as opposed to moving this logic to another record.

I will close this PR for now. I invite you to review the feedback and make updates. At that point, please feel free to either re-open this PR, or create a new one.

'use strict';

window.Logger = (function() {
const isDebugEnabled = true; // change it to 'true' for production when needed
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This would require a code change every time

2. Log levels: INFO, DEBUG, WARN, and ERROR
3. Easily enable/disable debug mode globally
4. Lightweight and ECMAScript 6–compliant
5. Works in Client Scripts, UI Scripts, and Service Portal widgets
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Based on the instructions, this does not work for any of these. If you set Global, it will not work on portal as Global are limited to desktop. When I test this creating the UI Script in the global scope, I note that the UI Script attempts to compile the interpolated variables in the string literal and so these come through as empty

@SapphicFire
Copy link
Contributor

Closing this for now. Once you make additional changes, feel free to re-open this Pull Request or create a new one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants