yidinghan / koa2-winston

koa2 version winston logger like express-winston
MIT License
38 stars 5 forks source link

Feature request: add silent mode for testing #18

Closed mpvosseller closed 4 years ago

mpvosseller commented 4 years ago

Would be nice to support a silent configuration option so logging can be disabled in tests.

Something like:

app.use(
  logger({
    silent: process.env.NODE_ENV === 'test'
  })
);

My current solution is to use a /dev/null stream transport in test mode and use the default (by passing undefined) otherwise.

app.use(
  logger({
    transports:
          process.env.NODE_ENV === 'test'
            ? [
                new winston.transports.Stream({
                  stream: fs.createWriteStream('/dev/null'),
                }),
              ]
            : undefined,
  })
);
mpvosseller commented 4 years ago

Actually, this works well enough. Will close.

app.use(
  logger({
        transports: [
          new winston.transports.Stream({
            stream: process.stdout,
            silent: process.env.NODE_ENV === 'test',
          }),
        ],
  })
);