Evaluate using transports instead of destinations for logger
pino@7 introduces transports as an alternate to destinations for defining and managing the output/write stream. The transport code is executed in a separate worker thread (new in Node.js 12). The main thread writes logs to the worker thread, which will then write them to the stream created by the transport provider. This makes the logger truly (and naturally) asynchronous and have an even lower overhead on application performance.
Switching to (or offering) transports potentially impacts the logger configuration keys in Antora. Since destinations aren't going away, we could offer them by way of a new option key...or perhaps async: transport
. The sync
option is no longer relevant, which is why reframing it as an async
setting might make more sense. Currently, transports don't support the append option, though that could change. The buffer_size
option is not relevant when using the transport. Instead, it's handled using the normal backpressure mechanism of streams.