@latta/nestjs
v1.0.1
Published
![Latta logo](../../docs/logo.svg)
Downloads
12
Readme
@latta/nestjs
Seamlessly integrate exception monitoring into your NestJS applications with Latta
Overview
The @latta/nestjs
library provides robust error tracking and monitoring for your NestJS applications. It automatically captures and reports both process-level exceptions and request-specific errors to the Latta reporting system using NestJS interceptors.
Features
- 🔄 Automatic exception handling via interceptors
- 🚀 Quick & easy setup
- 🛠️ Customizable options
- 📊 Comprehensive error reporting
- 📝 Detailed request and response logging
Installation
Install the package using npm:
npm install @latta/nestjs
Or using yarn:
yarn add @latta/nestjs
Quick Start
Adding Latta to your NestJS application requires just one line of code in your bootstrap function:
import { NestFactory } from '@nestjs/core';
import { LattaInterceptor } from '@latta/nestjs';
import { AppModule } from './app.module';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
// Add Latta interceptor
app.useGlobalInterceptors(new LattaInterceptor(process.env.LATTA_API_KEY));
await app.listen(3000);
}
bootstrap();
Configuration
Interceptor Initialization
The Latta interceptor can be configured with options:
import { LattaInterceptor } from '@latta/nestjs';
const interceptor = new LattaInterceptor(
process.env.LATTA_API_KEY,
{
verbose: true // Enable detailed logging
}
);
app.useGlobalInterceptors(interceptor);
Options
| Option | Type | Default | Description |
|--------|------|---------|-------------|
| verbose
| boolean | false
| When enabled, Latta will log detailed information to the console |
interface LattaInterceptorOptions {
verbose?: boolean; // Enable/disable detailed logging
}
Examples
Controller-Level Implementation
import { Controller, Get, UseInterceptors } from '@nestjs/common';
import { LattaInterceptor } from '@latta/nestjs';
@Controller('api')
@UseInterceptors(new LattaInterceptor(process.env.LATTA_API_KEY))
export class ApiController {
@Get('data')
getData() {
// Your route logic here
}
}
Error Handling
Latta automatically captures errors thrown in your controllers:
@Controller('api')
export class ApiController {
@Get('resource')
getResource() {
throw new Error('This error will be captured by Latta');
}
}
Best Practices
- Use environment variables for your API key
- Add the Latta interceptor in your application bootstrap
- Enable verbose logging during development
Debugging
For debugging purposes, you can enable verbose logging:
const interceptor = new LattaInterceptor(process.env.LATTA_API_KEY, { verbose: true });
This will output detailed information about Latta's operation to the console.
Support
If you encounter any issues or need assistance:
- Email: [email protected]
- Website: https://latta.ai
- Documentation: Full Documentation
License
This project is licensed under the MIT License - see the LICENSE file for details.