Log Recorder
class LogRecorder(redaction: RedactionEngine, sink: LogSink, enabled: Boolean = true, maxMessageChars: Int = DEFAULT_MAX_MESSAGE_CHARS, maxStackTraceChars: Int = DEFAULT_MAX_STACK_TRACE_CHARS, nowEpochMs: () -> Long = System::currentTimeMillis)
Captures host log lines for the timeline.
Redaction runs on the calling thread, so both the message and any stack trace are truncated first — an unbounded log line must not turn into an unbounded regex scan on whatever thread the host happened to be logging from. Everything else is delegated to sink, which is expected not to block.
When enabled is false, record returns before redacting or allocating anything, matching the no-op behaviour of the other recorders.