Logs Reference

Logs provide real-time diagnostic messages from devices. Unlike events (which are defined per device type in the schema), logs are a built-in mechanism available on all devices. Devices publish logs to RabbitMQ on the routing key devices.{deviceId}.logs, and Vesbite processes them alongside events through the same listener infrastructure.

Log Structure

Each log message contains the following fields:

PropertyTypeDescription
messagestringHuman-readable log content
levelstringSeverity level
sourcestringComponent or module within the device that generated the log
timestampstringISO 8601 timestamp of when the log was generated
deviceIdGUIDIdentifier of the source device
tenantIdGUIDIdentifier of the tenant the device belongs to

Example log payload:

{
  "tenantId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
  "message": "Antenna 2 detected cable fault",
  "level": "Warning",
  "source": "RfModule",
  "timestamp": "2026-03-20T10:30:05.123Z"
}

Log Levels

LevelValueUsage
DebugDebugDetailed diagnostic information for troubleshooting. High volume.
InfoInfoGeneral operational messages confirming normal behavior.
WarningWarningPotential issues that do not prevent the device from operating.
ErrorErrorFailures that require attention. The device may not function correctly.

Logs are displayed with color-coded severity indicators in the UI.

Viewing Logs

Device Page (Real-Time Stream)

  1. Navigate to Devices and select a device.
  2. Open the Logs tab.
  3. Logs stream in real time as the device produces them.

The log stream auto-scrolls to show the latest messages. New entries appear at the bottom.

Aggregated Logs Page

View logs from all devices in one place:

  1. Navigate to Logs in the sidebar.
  2. Logs from all devices in your tenant are displayed together.

Filtering and Searching

Filter by Level

Select one or more severity levels to narrow the view. For example, show only Warning and Error to focus on problems.

Filter by Device

On the aggregated logs page, filter by a specific device to isolate its messages.

Search by Message

Use the search bar to find logs containing specific text. The search matches against the message field.

Filter by Time Range

Select a start and end time to view logs from a specific period.

Log Retention

Logs are retained according to your plan:

PlanRetention
Starter24 hours
Pro7 days
Enterprise30+ days (configurable)

Logs older than the retention period are automatically deleted.

Common Log Messages

MessageLevelMeaning
Connected to MQTT brokerInfoDevice established connection to the message broker
Settings applied successfullyInfoDevice received and applied new settings
Antenna {n} detected cable faultWarningAn antenna port is reporting a hardware issue
Heartbeat timeout - reconnectingWarningDevice lost connection and is attempting to reconnect
Failed to write tag: access deniedErrorA tag encode operation failed due to a locked tag
Reader firmware mismatchErrorThe device firmware version is incompatible
Inventory session startedDebugReader began an RFID inventory round
Tag population estimate: {n}DebugReader’s estimate of tags in the field

How Logs Flow Through the System

  1. The device publishes a log message to RabbitMQ on devices.{deviceId}.logs.
  2. The RabbitMqDeviceEventListener consumes the message from the vesbite-device-events queue (logs share this queue with events).
  3. The listener identifies it as a log by the logs segment in the routing key.
  4. The log is published as a DeviceEvent with event type logs to MassTransit for internal routing.
  5. The UI receives the log through real-time subscriptions and displays it in the log stream.

See Also