Log levels reference

Each log level includes all higher-severity levels. Setting log_level to warn logs system, error, and warn, but excludes info, debug, trace, and spam.

Log levels

LevelDescriptionUse in production
systemCritical Platform lifecycle events (startup, shutdown, initialization)Always logged
errorUnrecoverable errors requiring immediate attentionAlways logged
warnRecoverable issues requiring monitoring (retries, deprecation warnings)Always logged
infoNormal operational messages showing the application functions correctlyRecommended default
debugDetailed diagnostic information for investigating specific issuesTemporary troubleshooting only
traceStep-by-step execution flow including function entry/exit and variable valuesTemporary troubleshooting only
spamHighest verbosity with extremely frequent events (loop iterations, polling)Not recommended

Examples by log level

The following examples show representative log entries at each severity level. Each event in Platform is logged at one appropriate level based on its significance and purpose.

system level

Critical platform lifecycle events such as initialization and shutdown.

Standard format (log_format_json=false):

2025-12-18T13:37:19.870Z - system: message=[ 'IAP initialization complete.' ]

Structured JSON format (log_format_json=true):

1{
2 "@timestamp": "2025-12-18T13:44:54.623Z",
3 "level": "system",
4 "origin": "/opt/itential/platform/server/startup.js:380",
5 "message": "IAP initialization complete.",
6 "context": {
7 "legacy_args": ["IAP initialization complete."]
8 }
9}

error level

Unrecoverable errors that prevent operations from completing, such as missing required services or failed connections.

Standard format:

2025-12-18T13:37:20.885Z - error: origin=/opt/itential/platform/server/startup.js:406, message=[
'The following requested services were not found on the filesystem and will be skipped: @itentialopensource/adapter-jira'
]

Structured JSON format:

1{
2 "@timestamp": "2025-12-18T13:44:55.636Z",
3 "level": "error",
4 "origin": "/opt/itential/platform/server/startup.js:406",
5 "message": "The following requested services were not found on the filesystem and will be skipped: @itentialopensource/adapter-jira",
6 "context": {
7 "legacy_args": ["The following requested services were not found on the filesystem and will be skipped: @itentialopensource/adapter-jira"]
8 }
9}

warn level

Recoverable issues that require attention but don’t prevent operations from completing, such as duplicate modules or deprecated configurations.

Standard format:

2025-12-18T13:37:19.872Z - warn: origin=/opt/itential/platform/server/core/startup/LoadModules.js:147, message=[
'Skipped loading duplicate module @itentialopensource/adapter-jira from /opt/itential/platform/services/adapter-jira'
]

Structured JSON format:

1{
2 "@timestamp": "2025-12-18T13:44:54.141Z",
3 "level": "warn",
4 "origin": "/opt/itential/platform/server/core/startup/LoadModules.js:147",
5 "message": "Skipped loading duplicate module @itentialopensource/adapter-jira from /opt/itential/platform/services/adapter-jira",
6 "context": {
7 "legacy_args": ["Skipped loading duplicate module @itentialopensource/adapter-jira from /opt/itential/platform/services/adapter-jira"]
8 }
9}

info level

Normal operational events that track the progress of operations, such as module discovery completion and workflow execution milestones.

Recommended for production: The info level is the recommended default for production environments.

Standard format:

2025-12-18T13:37:19.872Z - info: origin=/opt/itential/platform/server/core/startup/LoadModules.js:152, message=[ 'Discovered modules in 459 milliseconds' ]

Structured JSON format:

1{
2 "@timestamp": "2025-12-18T13:44:54.625Z",
3 "level": "info",
4 "origin": "/opt/itential/platform/server/core/startup/LoadModules.js:152",
5 "message": "Discovered modules in 419 milliseconds",
6 "context": {
7 "legacy_args": ["Discovered modules in 419 milliseconds"]
8 }
9}

debug level

Detailed diagnostic information useful for troubleshooting, including internal state changes and configuration details.

Standard format:

2025-12-18T13:37:19.895Z - debug: origin=/opt/itential/platform/server/core/integrations/Gateway.js:347, message=[ 'Gateway adding instance config api.sleeper.app' ]

Structured JSON format:

1{
2 "@timestamp": "2025-12-18T13:44:54.651Z",
3 "level": "debug",
4 "origin": "/opt/itential/platform/server/core/integrations/Gateway.js:347",
5 "message": "Gateway adding instance config api.sleeper.app"
6}

trace level

Step-by-step execution flow including function entry/exit and variable values.

Performance impact: The trace level generates significant log volume and should only be used temporarily for troubleshooting specific issues.

spam level

Highest verbosity with extremely frequent events such as loop iterations and polling.

Not recommended: The spam level generates excessive log volume and is generally not recommended for any environment.

Next steps