WireLog class

Opt-in console logging for every payload sent to or received from the backend over LiveKit's reliable data channel.

Properties

hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Static Properties

chunkBytes ↔ int
Largest body chunk, in UTF-8 bytes. Flutter's Android log path silently truncates a single line at ~1 KB (measured: 1023 bytes after the I/flutter (pid): prefix), so bodies longer than this are emitted as numbered chunks ([Embed body#7 2/5] …) that a log reader reassembles.
getter/setter pair
debugSimulateReleaseMode ↔ bool
Test seam: behave as a release build (where kReleaseMode is a compile-time constant and cannot be flipped from a test).
getter/setter pair
enabled ↔ bool
Master toggle. Always false in release builds, whatever a host set: wire bodies carry screen text and typed values, and the SDK ships on banking screens, so payload contents must never reach a release log. Every if (WireLog.enabled) guard in the SDK inherits that floor.
getter/setter pair
includeBody ↔ bool
Set to false to print only the header line ([Embed ▶ SEND] type=… bytes=…) without the JSON body.
getter/setter pair
prefix ↔ String
Lines start with this so log filters can target only the SDK's wire traffic.
getter/setter pair

Static Methods

chunk(String s, int maxBytes) → List<String>
Split s into pieces of at most maxBytes UTF-8 bytes without cutting a surrogate pair. A non-positive maxBytes returns s whole.
emit(String header, {String? body}) → void
Print header (already carrying prefix) and, when includeBody is on, body on the following line — split into tagged chunks when it exceeds chunkBytes. Routed through debugPrint so a large body is throttled instead of dropped by rate-limited loggers.