@nestjs-mod/pino
Pino logger for NestJS-mod (Wrapper for https://www.npmjs.com/package/nestjs-pino)

Installation
npm i --save pino-http pino nestjs-pino @nestjs-mod/pino
Modules
Modules descriptions
NestjsPinoLoggerModule
Pino logger for NestJS-mod (Wrapper for https://www.npmjs.com/package/nestjs-pino)
Use in NestJS-mod
An example of using forRoot with parameters, you can see the full example here https://github.com/nestjs-mod/nestjs-mod-contrib/tree/master/apps/example-pino-logger.
Passing requestId from the frontend is supported.
import {
DefaultNestApplicationInitializer,
DefaultNestApplicationListener,
bootstrapNestApplication,
} from '@nestjs-mod/common';
import { NestjsPinoLoggerModule } from '@nestjs-mod/pino';
bootstrapNestApplication({
modules: {
system: [
DefaultNestApplicationInitializer.forRoot({ staticConfiguration: { bufferLogs: true } }),
NestjsPinoLoggerModule.forRoot(),
DefaultNestApplicationListener.forRoot({
staticEnvironments: { port: 3000 },
}),
],
},
});
Configuration
Key | Description | Constraints | Default | Value |
---|
requestIdHeaderName | Header name for search requestId | optional | x-request-id | - |
exclude | Optional parameter for routing. It should implement interface of parameters of NestJS built-in MiddlewareConfigProxy['forRoutes'] . @see https://docs.nestjs.com/middleware#applying-middleware It can be used for both disabling automatic req/res logs and removing request context from following logs. It works for all requests by default. If you only need to turn off the automatic request/response logging for some specific (or all) routes but keep request context for app logs use pinoHttp.autoLogging field. | optional | - | - |
forRoutes | Optional parameter for routing. It should implement interface of parameters of NestJS built-in MiddlewareConfigProxy['forRoutes'] . @see https://docs.nestjs.com/middleware#applying-middleware It can be used for both disabling automatic req/res logs and removing request context from following logs. It works for all requests by default. If you only need to turn off the automatic request/response logging for some specific (or all) routes but keep request context for app logs use pinoHttp.autoLogging field. | optional | - | - |
pinoHttp | Optional parameters for pino-http module @see https://github.com/pinojs/pino-http#pinohttpopts-stream | optional | - | - |
renameContext | Optional parameter to change property name context in resulted logs, so logs will be like: {"level":30, ... "RENAME_CONTEXT_VALUE_HERE":"AppController" } | optional | - | - |
useExisting | Optional parameter to skip pino configuration in case you are using FastifyAdapter, and already configure logger in adapter's config. The Pros and cons of this approach are described in the FAQ section of the documentation: @see https://github.com/iamolegga/nestjs-pino#faq. | optional | - | - |
Back to Top
Links
License
MIT