The backing sink. ConsoleLogger writes out; BufferLogger collects (the MCP path).
Optionaloptions: { render?: LogRenderer }
Optionalrender?: LogRendererOptional renderer for SDK objects - see LogRenderer.
Ordering is preserved across the sync/async mix: an entry that needs no rendering is written
immediately unless an earlier entry is still rendering, in which case it queues behind it. So a
plain log('done') stays synchronous (the CLI streams it) and log(stats) never arrives late.
A promise argument is awaited and logs as the value it settles to, in call order like any other
async entry: log(sheet.evaluate('=SUM(A:A)')) prints the result. A rejection prints as
[rejected] … on the same line.
Builds the
log/warn/errorchannels for a run context.