Universe uses two complementary logging systems that serve different audiences. Operators interacting with the console see a styled, human-readable output managed by theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/universeclouddev/Universe/llms.txt
Use this file to discover all available pages before exploring further.
gg.scala.universe.console package. At the same time, an SLF4J/Logback pipeline captures framework-level diagnostics from Hazelcast, Docker, Kubernetes, and Netty into a rotating log file. Understanding both systems makes it straightforward to know where to look when troubleshooting.
The Two Logging Systems
| System | Purpose | Output destination | Controlled by |
|---|---|---|---|
Console (gg.scala.universe.console) | Operator-facing CLI messages with styled arrows, colour-coded badges, and tables | stdout via JLine | debug flag in config.json |
| SLF4J / Logback | Framework internals: Hazelcast, Docker client, K8s client, Netty, AWS SDK | ./logs/universe.log (and optionally stdout) | universe-logback.xml |
Log File Location and Rotation
The active log file is always
./logs/universe.log, relative to the working directory where the Universe JAR was started. In Docker deployments this is typically /data/logs/universe.log if the data directory is mounted at /data.TimeBasedRollingPolicy:
- File name pattern:
./logs/universe-%d{yyyy-MM-dd}.log - Rotation schedule: Daily — a new file is created each day at midnight.
- Retention: 30 days (
maxHistory=30). Files older than 30 days are deleted automatically.
Debug Mode
By default, Universe runs withdebug: false. Debug mode is enabled by setting the flag in ./config.json:
| Logger | debug: false | debug: true |
|---|---|---|
| Console output | INFO+ operational messages | INFO+ and DEBUG messages |
| Logback console appender | WARN+ only | INFO+ for all loggers including frameworks |
./logs/universe.log | Full output (INFO+) | Full output (DEBUG+) |
Framework loggers (com.hazelcast, com.github.dockerjava, etc.) | WARN+ | INFO+ |
debug for the new setting to take effect. Debug mode produces significantly higher log volume, especially from Hazelcast’s membership protocol and Netty’s I/O layer.
Logback Logger Levels
The bundleduniverse-logback.xml configures the following loggers explicitly:
INFO, which means any library not explicitly named inherits that level. To permanently silence or increase verbosity for a specific library, add a <logger> element to universe-logback.xml in ./extensions/ or supply a custom logback.xml on the classpath before the bundled configuration.
Accessing Instance Logs via REST API
Universe exposes two endpoints for reading instance logs remotely without needing shell access to the Wrapper node.- Last N lines (HTTP)
- Live stream (WebSocket)
Retrieve the last N lines of an instance’s The
stdout.log:lines query parameter defaults to 100. The response is a JSON array of log line strings. This endpoint is suitable for polling in dashboards or CI scripts.WebSocket connections to
/api/instances/{id}/live-log require the same Bearer token authentication as all other API endpoints. The token must be provided in the Authorization header during the initial HTTP upgrade handshake — it cannot be passed as a query parameter.Accessing Logs in Docker
For the Universe node process itself (not managed instances), use standard Docker log commands to read its stdout:docker logs captures everything you would see in an interactive session.
If you mount a data volume, the rotating log file is also available directly on the host: