evmPortalStream() accepts a Pino-compatible logger, so you can route pipeline logs to any Pino transport — GCP Cloud Logging, Sentry, or a local pretty-printer. Configure it once on the source; every transformer and target then receives the same instance as ctx.logger.
Basic custom logger
Build a Pino transport, pass pino(transport) as the source’s logger, and the whole pipeline logs through it:
Cloud transports
Only the transport changes per destination — the rest of the pipe above stays the same. Build the transport, then pass pino(transport) as the source logger.
GCP Cloud Logging
Sentry
Multiple transports
Route only errors to Sentry, and wrap the write loop so failures surface as logger.error: Fan out to several destinations at once, each with its own level:
The ctx.logger in transformers and targets is the same logger instance passed to the source. Configure logging once at the source, then use ctx.logger throughout your pipeline.