记录到STDOUT和一个包含node/pio的文件

slmsl1lt  于 2022-10-12  发布在  Node.js
关注(0)|答案(1)|浏览(141)

在我努力让Pino记录器同时写入STDOUT和日志文件时,我分享了这一点:

const dest = new stream.PassThrough();
dest.pipe(process.stdout);
dest.pipe(fs.createWriteStream('/logs/file.log', { flags: 'a' }));
const logger = pino({ level: 'info' }, dest);

由于这似乎是非常低的水平,我想知道这是不是正确的方式。

uqxowvwt

uqxowvwt1#

有点晚了,但pino-multi-stream可能是您想要的。我在这里遵循了这一节,它在打字稿中对我起作用。你可以试着这样做:

const fs = require('fs');
const pinoms = require('pino-multi-stream')

const streams = [
  { stream: process.stdout },
  { stream: fs.createWriteStream('/logs/file.log', { flags: 'a' }) },
]

const logger = pino({ level: 'info' }, pinoms.multistream(streams));

相关问题