Installation
Install
NPM
npm i nestjs-logger-module
Yarn
yarn add nestjs-logger-module
Module configuration options
| Option | Type | Required | Default | Notes |
|---|---|---|---|---|
isGlobal | boolean | ❌ No | false | If true, registers the module as global (you don't need to re-import it in every module). |
provider | LoggerProvider | ✅ Yes | — | Selects the underlying provider (CONSOLE, FILE, MONGODB). |
enabled | boolean | ❌ No | true | Enables/disables logging globally. |
serviceName | string | ❌ No | — | Included in log entries where supported. Useful for multi-service environments. |
retentionDays | number | ❌ No | — | If set to a positive number, old logs are cleaned up once per day (behavior depends on provider). |
Provider-specific details:
Module Usage
app.module.ts
import { Module } from '@nestjs/common';
import { LoggerModule, LoggerProvider } from 'nestjs-logger-module';
@Module({
imports: [
LoggerModule.register({
isGlobal: true,
provider: LoggerProvider.CONSOLE,
enabled: true,
serviceName: 'my-service',
retentionDays: 7,
}),
],
})
export class AppModule {}
For async config:
LoggerModule.registerAsync({
isGlobal: true,
provider: LoggerProvider.MONGODB,
imports: [ConfigModule],
inject: [ConfigService],
useFactory: (config: ConfigService) => ({
enabled: true,
serviceName: 'my-service',
retentionDays: 30,
uri: config.get<string>('MONGODB_URI')!,
}),
});