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
- Inputs: (none)
- Outputs: (none)
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).
| Key | Label | Type | Default | Description / Notes |
|---|---|---|---|---|
filePath | File Path | filepath_save | log.json | Relative 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. |
appendTimestamp | Append date/time to filename | boolean | true | Each recording session writes to a new file with a -MMDDYYYY-HHMM suffix inserted before the extension, so successive recordings don’t overwrite each other. |
autoStart | Start recording on engine start | boolean | false | When 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
| Field | Purpose |
|---|---|
inputEndpoints | List of upstream endpoints this node connects to (outEndpoint / dataEndpoint values from upstream nodes). |
inputDataFilter | Optional whitelist of data types. Messages whose type isn’t in the list are dropped at the subscriber. |
settings | All user-configurable fields — see the Properties table above. |
Connections can also be declared at the top-level
connectionsarray whensettings.explicitConnectionsistrue, as an alternative to fillinginputEndpointson each node.