> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.itential.com/itential-platform/2023-2/monitor/log/log-levels-reference/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.itential.com/_mcp/server. # 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 | Level | Description | Use in production | | -------- | ----------------------------------------------------------------------------- | ------------------------------ | | `system` | Critical Platform lifecycle events (startup, shutdown, initialization) | Always logged | | `error` | Unrecoverable errors requiring immediate attention | Always logged | | `warn` | Recoverable issues requiring monitoring (retries, deprecation warnings) | Always logged | | `info` | Normal operational messages showing the application functions correctly | Recommended default | | `debug` | Detailed diagnostic information for investigating specific issues | Temporary troubleshooting only | | `trace` | Step-by-step execution flow including function entry/exit and variable values | Temporary troubleshooting only | | `spam` | Highest 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`): ```json { "@timestamp": "2025-12-18T13:44:54.623Z", "level": "system", "origin": "/opt/itential/platform/server/startup.js:380", "message": "IAP initialization complete.", "context": { "legacy_args": ["IAP initialization complete."] } } ``` ### 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**: ```json { "@timestamp": "2025-12-18T13:44:55.636Z", "level": "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", "context": { "legacy_args": ["The following requested services were not found on the filesystem and will be skipped: @itentialopensource/adapter-jira"] } } ``` ### 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**: ```json { "@timestamp": "2025-12-18T13:44:54.141Z", "level": "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", "context": { "legacy_args": ["Skipped loading duplicate module @itentialopensource/adapter-jira from /opt/itential/platform/services/adapter-jira"] } } ``` ### 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**: ```json { "@timestamp": "2025-12-18T13:44:54.625Z", "level": "info", "origin": "/opt/itential/platform/server/core/startup/LoadModules.js:152", "message": "Discovered modules in 419 milliseconds", "context": { "legacy_args": ["Discovered modules in 419 milliseconds"] } } ``` ### 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**: ```json { "@timestamp": "2025-12-18T13:44:54.651Z", "level": "debug", "origin": "/opt/itential/platform/server/core/integrations/Gateway.js:347", "message": "Gateway adding instance config api.sleeper.app" } ``` ### 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 #### [Configure logging](/monitor/log/configure) Configure log levels and output formats #### [View and search logs](/monitor/log/log-levels-reference) Access and analyze platform logs