fastify / fastify-cli

Run a Fastify application with one command!
MIT License
657 stars 164 forks source link

fastify-cli: print log messages during test #546

Open mccare opened 2 years ago

mccare commented 2 years ago

You have already researched for similar issues?

Yes, nothing found

What are you trying to achieve, or the steps to reproduce?

I'm trying to see the fastify.log statements that get printed during my test. This only seems possible if fastify is logging to stderr instead of stdout (where it is swallowed by tap). I'm trying to instantiate a custom logger by using the build method of the helper from fastify-cli:

test("default root route", async (t) => {
  const app = await build({
    logger: {
      transport: {
        target: 'pino-pretty',
        options: {
          colorize: true,
          destination: 2,
        },
      },
    });
  const res = await app.inject({
    url: "/processor",
  });
  t.same(JSON.parse(res.payload), { root: true });
});

If I pass the configuration block to Fastify(...) and build the server myself, it will instantiate the logger correctly.

What was the result you received?

The log was still to stdout and tap swallowed it.

What did you expect?

I would expect fastify to log to stderr and show the messages during a npm run test

Context

I can create a demo repo if that helps?

mcollina commented 2 years ago

Thanks for reporting! This is currently not supported by fastify-cli. Would you like to send a Pull Request?