- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
Introduction
The syslog table is one of the most active tables in ServiceNow. It stores platform-level informational, warning, and error messages. Many customers face rapid growth of syslog data, which can impact system performance and storage.
This article outlines actionable steps to:
-
Reduce excessive log generation.
-
Adjust syslog table rotation for faster data truncation.
-
Enforce coding guardrails around logging.
-
Highlight why Data Management Policies do not apply to rotated tables like
syslog
.
Limitations of Data Management Policy and Reclamation Rules
-
Data Management Policies (cleanup rules, retention, reclamation) cannot be applied to rotated tables such as
syslog
. -
Rotated tables are controlled by Table Rotation, which manages retention by truncating old shards.
-
Attempting to configure cleanup rules for
syslog
will not take effect.
Official reference: Demystifying table rotation, extension, and table cleaner – ServiceNow Docs
System Properties – Logging Levels
⚠ Note: The list below is based on a specific customer instance configuration and enabled plugins.
In your case, start by filtering system properties where Name contains.log
and review which are set toinfo
ordebug
.
Always double-check with platform/operations teams before making changes, as reducing log levels may result in missing important troubleshooting information.
Set to warn
from info
The following properties were previously set to info
and have now been updated to warn
to reduce syslog noise:
-
com.snc.trigger_rules.log.level
→ set towarn
frominfo
-
glide.amb.log.level
→ set towarn
frominfo
-
com.glide.schedules.log.level
→ set towarn
frominfo
-
com.glide.document.log.level
→ set towarn
frominfo
-
cmdb.lifecycle.util.log.levels
→ set towarn
frominfo
-
x_dice_digicertone.logging.verbosity
→ set towarn
frominfo
-
sn_nxui_framework.logging.level
→ set towarn
frominfo
Already safe / disabled
-
sn_nxui_framework.logging.enabled
→false
(keep off unless required) -
sn_itom_pattern.log_gcp_event_job
→false
(keep off) -
sn_sb.logging
(Service Bridge) →false
(keep off) -
glide.sc.log.variable_actions
→ Recommendation: set tofalse
unless detailed variable action logs are required
Table Rotation Policy for syslog
-
Current configuration: 7 days per shard × 8 shards = 56 days retention.
-
Recommended change: reduce to 3 days per shard.
-
With 8 shards, this results in 24 days of total retention.
-
Impact:
-
Logs are truncated every 3 days instead of every 7.
-
Overall syslog size is reduced, but you still retain 24 days of logs.
-
Must be validated with audit/compliance stakeholders before implementation.
Guardrails for Logging in Custom Code
A. Current challenges
-
Excessive use of
gs.log()
andgs.info()
in scripts leads to unnecessary log entries. -
These methods are often used for debugging but left behind in production code.
B. Guardrail policies
-
New development:
-
Do not allow
gs.info()
orgs.log()
in production-ready code. -
Only use
gs.warn()
orgs.error()
where absolutely necessary. -
If informational logging is required, wrap it in a condition controlled by a system property (e.g., only enabled in sub-production).
-
-
Existing code cleanup initiative:
-
Identify and remove all occurrences of
gs.info()
andgs.log()
in scripts, business rules, and scheduled jobs. -
Replace with
gs.warn()
orgs.error()
only where required for troubleshooting. -
This is a one-time, tedious but necessary initiative to reduce syslog noise.
-
Recommendations Summary
-
System Properties:
-
Set logging levels to
warn
frominfo
as listed above. -
Disable variable action logging (
glide.sc.log.variable_actions
) unless strictly required. -
Review all other
.log
properties in your instance and adjust carefully.
-
-
Table Rotation:
-
Reduce syslog retention from 7 days per shard (56 days total) to 3 days per shard (24 days total).
-
-
Logging Practices:
-
Enforce strict coding standards against
gs.info()
/gs.log()
. -
Allow only
gs.warn()
andgs.error()
in production. -
Launch cleanup to remove existing
gs.info
/gs.log
statements.
-
-
Data Management Policy Awareness:
-
Note that cleanup/reclamation rules cannot apply to syslog or other rotated tables.
-
Retention is managed only by table rotation.
-
Conclusion
By combining log-level tuning, rotation adjustments, and guardrails for logging practices, ServiceNow customers can control syslog growth, reduce storage usage, and maintain healthy platform performance — while still retaining a reasonable history of logs (24 days at 3-day shard rotation).
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.