1

On my next js app, I'm trying to use pino (v 8.7.0) where I want the client logs to return levels with labels instead of numbers. Based on the pino documentation, I've added a formatter. However, I'm still getting numbers after I tried the following:

pino-logger-service.ts

import { default as Pino } from 'pino';

export const initLogger = () => {
  const pinoLogger = Pino( {
    serialize: true,
    formatters: {
      level (label) {
        return { level: label }
      }
    },
    browser: {
      write: (o: any) => {
        console.log(`${JSON.stringify(o)}`);
      }
    }
  });

  return pinoLogger;
};

_app.tsx

import { initLogger } from 'src/services/pino-logger-service';
const logger = initLogger();
logger.info({ "name": "test"}); // Outputs -> {"time":1666934438737,"level":30,"name":"test"}

How can I get the label (in this case 'info') to appear for the level?

usr4896260
  • 1,427
  • 3
  • 27
  • 50

0 Answers0