Nestjs Pino Extra Packages
    Preparing search index...

    Nestjs Pino Extra Packages

    NestJS Pino Extra

    Enhanced logging solutions for NestJS applications with OpenTelemetry integration, file rotation, Loki support, and enterprise features.

    npm version License

    This monorepo contains two main packages:

    Enhanced NestJS Pino module with OpenTelemetry integration, file rotation, and Loki support.

    Features:

    • 🔍 OpenTelemetry integration with automatic span/trace ID injection
    • 📊 Loki transport for centralized logging
    • 📁 File rotation with compression
    • 🎨 Pretty logging for development
    • 🔒 Automatic redaction of sensitive fields
    • ⚡ High-performance logging with Pino

    📖 Full Documentation | 📦 NPM Package

    Enhanced pino-http with OpenTelemetry, Loki, file rotation and enterprise features.

    Features:

    • 🔍 OpenTelemetry integration
    • 📊 Loki transport
    • 📁 File rotation with compression
    • 🎨 Pretty console output
    • 🔒 Security with automatic redaction
    • ⚡ High-performance logging
    • 🆔 Request ID generation and tracking
    • 📈 Response time tracking

    📖 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