Enhanced logging solutions for NestJS applications with OpenTelemetry integration, file rotation, Loki support, and enterprise features.
This monorepo contains two main packages:
Enhanced NestJS Pino module with OpenTelemetry integration, file rotation, and Loki support.
Features:
📖 Full Documentation | 📦 NPM Package
Enhanced pino-http with OpenTelemetry, Loki, file rotation and enterprise features.
Features:
📖 Full Documentation | 📦 NPM Package
pnpm install @nestjs-labs/nestjs-pino-extra nestjs-pino @nestjs-labs/pino-http-extra @nestjs/config --save
npm install @nestjs-labs/pino-http-extra
import { Module } from '@nestjs/common';
import { ConfigModule, ConfigService } from '@nestjs/config';
import { LoggerModule } from '@nestjs-labs/nestjs-pino-extra';
@Module({
imports: [
ConfigModule.forRoot(),
LoggerModule.forRootAsync({
imports: [ConfigModule],
useFactory: (configService: ConfigService) =>
getNestjsPinoModuleOptions(configService),
inject: [ConfigService],
}),
],
})
export class AppModule {}
import express from 'express';
import pinoHttp from 'pino-http';
import { getPinoHttpOption, getMultiDestinationStream } from '@nestjs-labs/pino-http-extra';
const app = express();
const pinoHttpLogger = pinoHttp(getPinoHttpOption());
app.use(pinoHttpLogger);
# Required
OTLP_SERVICE_NAME=my-app
# Optional
LOG_LEVEL=info
LOG_FILE=/var/log/app.log
LOG_LOKI=http://loki:3100
OTEL_SPAN_ID_KEY=spanId
OTEL_TRACE_ID_KEY=traceId
# Install dependencies
pnpm install
# Build packages
pnpm run build
# Lint
pnpm run lint
MIT