Skip to main content

Monitoring Module

This module is used to:

  • Log to the console
  • Capture rollbar errors

Quickstart

To install this module you just need to register the module in your AppModule.

// app.module.ts
import { Module } from '@nestjs/common';
import { ConfigModule, ConfigService } from '@nestjs/config';
import { MonitoringModule } from '@consumer-health-platform/monitoring';

@Module({
imports: [
ConfigModule.forRoot(),
MonitoringModule.forRootAsync({
inject: [ConfigService],
useFactory: (config: ConfigService<Config, true>) => ({
env: config.get('MONITORING_ENV'),
rollbar: {
accessToken: config.get('ROLLBAR_ACCESS_TOKEN'),
},
}),
}),
],
controllers: [],
providers: [],
})
export class AppModule {}

Logs

This package exports a LoggerService. This service is built around the pino logger. It adds additional functionality for redacting logged data.

import { Injectable } from '@nestjs/common';
import { LoggerService } from '@consumer-health-platform/monitoring';

@Injectable()
class MyService {
constructor(private loggerService: LoggerService) {}

async myMethod(data: User) {
this.loggerService.log(
'My message', // Message to log
data, // Data to log with the request
['notificationsEnabled'] // Data to whitelist for logging
);
}
}

Errors

Unhandled errors will be automatically captured by and sent to Rollbar. No further customisation is required.