1.0.9 โข Published 6 months ago
@chinmay20409/nest-js-bull-helper v1.0.9
๐ชต NestJS BullMQ Logger Helper
A dynamic NestJS module to enable automatic log publishing to BullMQ queues and real-time WebSocket log streaming (consumer WIP).
๐ฆ Installation
npm install @chinmay20409/nest-js-bull-helperMake sure you have Redis running locally or remotely.
๐ Usage in a NestJS Project
1. Import the LoggerModule in your AppModule:
import { LoggerModule } from '@chinmay20409/nest-js-bull-helper';
@Module({
imports: [
LoggerModule.register({
connection: {
host: process.env.REDIS_HOST || 'localhost',
port: parseInt(process.env.REDIS_PORT || '6379'),
},
queueName: 'order-logs1',
projectId: 'capp',
}),
],
})
export class AppModule {}2. Inject and use CustomLoggerService anywhere:
import { Injectable } from '@nestjs/common';
import { CustomLoggerService } from '@chinmay20409/nest-js-bull-helper';
@Injectable()
export class SomeService {
constructor(private readonly logger: CustomLoggerService) {}
someMethod() {
this.logger.error('Something went wrong', 'stack trace', 'SomeService');
this.logger.warn('Just a warning', 'SomeService');
}
}๐ Features
- โ
Easy setup with
LoggerModule.register({...}) - โ Queue name, project ID, and Redis credentials configurable
- โ Logs are automatically pushed to the queue โ no extra code required
- ๐งฉ (Coming Soon) Real-time WebSocket dashboard (via
ConsumerLoggerModule)
๐งช Local Development
To build locally:
npm run buildTo update version (make sure git is clean):
npm version patch
npm publish --access public๐ค Contribution
Feel free to open PRs or issues if you'd like to help improve the module.
Let me know if you want a separate README section for the ConsumerLoggerModule too.