Improbable Icon

Logging Improvements in SpatialOS 10



Note: These changes will apply when you next run spatial update.

This is an update we felt needed more than a bullet-point in release notes.

We’ve made changes to how the SpatialOS runtime logs work. Previously, all log messages were lumped together: internal log messages that were meant for us to monitor the runtime were mixed in with log messages that were meant for people developing with the runtime. As of today, we’ve made a distinction between the two. By default, both the spatial local CLI and web client log viewer will now filter out the internal logs.

If you’re an advanced user and you still want to view the internal logs, you can:

  • For spatial local: run with the flag show_internal_runtime_logs, e.g.: spatial local start default.json --show_internal_runtime_logs
  • For cloud deployments: you can disable/enable filtering of internal logs by toggling the ‘user’ tag filter:

We’ve also changed where your logs end up getting saved. Instead of ending up in a temporary folder that is hard to find and varies by operating system, your logs will end up inside of a logs folder within your project folder. The logs in this folder are arranged by time+date of the local deployment, and then further subdivided by the type of worker.

Some bonus notes:

  • Previous default behaviour was to only display WARN or higher level messages in the CLI when running spatial local. Now that we filter out the internal messages, the default is set to INFO. If you want to configure this, you can set the runtime_log_level flag for spatial local, e.g.: spatial local start default.json --runtime_log_level=warn
  • The runtime.log file that gets generated by the runtime will still save the internal logs, even if they’re not displayed in the CLI, so if something goes wrong and you need to investigate or post a question to the forums, we’ll still have all of the information available.
  • If you want to override the location your logs get saved to, you can do this with the log_directory flag, e.g. spatial local start --log_directory=/foo/bar/
  • If you still need the old format local logs exactly as they were, maybe in your automated testing setups, then you can disable the new format with the flag enable_new_logs_flow set to false. We will continue to provide the old logs format behind this flag until at least the launch of SpatialOS 11, to give you time to migrate any automated testing to the new setup.

Available now: completely revamped SpatialOS 10 logging!

@draconigra - I know you were particularly interested in better local logging :slight_smile: