Susi Server

File Logger

Node ID: logger · Role: Sink · Realtime config: no

Description

Records sensor data to JSON line files with configurable file rotation. Supports all data types and filtering by data type.

Inputs / Outputs

Config aliases

FileLogger, fileLogger, logger

Properties

The following fields are exposed in the node’s Properties panel in the UI. Types map to UI widgets (e.g. string → text input, number → numeric, boolean → toggle, select → dropdown, json → JSON editor).

KeyLabelTypeDefaultDescription / Notes
filePathFile Pathfilepath_savelog.jsonRelative paths are resolved against the user log directory (%LOCALAPPDATA%\FusionHub\logs on Windows, ~/.local/share/fusionhub/logs on Linux). Use an absolute path to write elsewhere.
appendTimestampAppend date/time to filenamebooleantrueEach recording session writes to a new file with a -MMDDYYYY-HHMM suffix inserted before the extension, so successive recordings don’t overwrite each other.
autoStartStart recording on engine startbooleanfalseWhen enabled, recording begins automatically as soon as the engine starts (useful for headless / batch runs). When disabled (default), recording must be triggered explicitly via the Start Recording button or the startLogging command.

Example node definition

A full node definition in config.json looks like the block below. Paste it under the sinks key of your config, keyed by the node’s instance name (any identifier; it doesn’t have to match the node ID).

{
  "sinks": {
    "logger": {
      "inputEndpoints": [],
      "settings": {
        "appendTimestamp": true,
        "autoStart": false,
        "filePath": "log.json"
      }
    }
  }
}

Field reference

FieldPurpose
inputEndpointsList of upstream endpoints this node connects to (outEndpoint / dataEndpoint values from upstream nodes).
inputDataFilterOptional whitelist of data types. Messages whose type isn’t in the list are dropped at the subscriber.
settingsAll user-configurable fields — see the Properties table above.

Connections can also be declared at the top-level connections array when settings.explicitConnections is true, as an alternative to filling inputEndpoints on each node.

Loading documentation…