0.0.35 • Published 2 years ago
caught-exception v0.0.35
caught-exception
Create Exception Filter
src/config/caught-exception/caught-exception.filter.ts
import { Catch, HttpException, Injectable } from '@nestjs/common';
import { HttpExceptionFilter } from 'caught-exception';
import dataDogTracer from './config/datadog/tracer';
@Injectable()
@Catch(HttpException)
export class HttpExceptionFilterInject extends HttpExceptionFilter {
dataDogTracer = dataDogTracer;
}
Global Caught Exception Filter
src/main.js
require('./config/datadog/tracer');
import { HttpExceptionFilterInject } from './src/config/caught-exception/caught-exception.filter.ts';
async function bootstrap() {
// const app = await NestFactory.create(RootModule, {
app.useGlobalFilters(new HttpExceptionFilterInject());
// ...
}
DataDog file
src/config/datadog/trace.js
import tracer from 'dd-trace';
const dataDogTracer = tracer.init();
export default dataDogTracer;
Intercept all axios Require/Response in development
src/root.module.js
import axios from 'axios';
import dataDogTracer from './src/config/datadog/tracer';
require('caught-exception/dist/common/api/http-request-global.axios')({
axios,
dataDogTracer,
});
Provider HttpExceptionFilterInject on RootModule
src/root.module.js
import { HttpExceptionFilterInject } from './caught-exception';
import { APP_FILTER } from '@nestjs/core';
@Module({
// imports: [],
// controllers: [],
providers: [
{
provide: APP_FILTER,
useClass: HttpExceptionFilterInject,
},
],
});
Caught controllers Require
src/root.module.js
import { LoggerMiddlewareToModule } from './caught-exception';
// replace this:
// export class RootModule {};
// to:
export class RootModule implements NestModule {
configure(consumer: MiddlewareConsumer) {
consumer.apply(LoggerMiddlewareToModule).forRoutes('*');
}
}
Environments
DD_LOGS_CONFIG_CONTAINER_COLLECT_ALL= true
DD_LOGS_ENABLED= true
DD_LOGS_INJECTION= true
DD_PROCESS_CONFIG_ENABLED= true
DD_PROFILING_ENABLE= true
DD_TRACE_ANALYTICS_ENABLED= false
DD_TRACE_ENABLED= true
DD_TRACE_HEADER_TAGS= Host:origin,Referer:referer,x-forwarded-for:x-forwarded-for
DD_VERSION= 4.14.0
// intercept
CATCH_EXCEPTION_TRACE_ROUTES_RULES= { "intercept": { } }
// Intercept: /auth/login
// Don't exclude: /path/document/example
CATCH_EXCEPTION_TRACE_ROUTES_RULES= { "intercept": { "include": ["login"], "exclude": ["document"] } }
// Axios intercept prod
CATCH_EXCEPTION_TRACE_ROUTES_RULES= { "intercept": { "production": true } }
0.0.35
2 years ago
0.0.34
2 years ago
0.0.33
2 years ago
0.0.32
2 years ago
0.0.31
2 years ago
0.0.30
2 years ago
0.0.29
2 years ago
0.0.28
2 years ago
0.0.27
2 years ago
0.0.26
2 years ago
0.0.25
2 years ago
0.0.24
2 years ago
0.0.23
2 years ago
0.0.22
2 years ago
0.0.21
2 years ago
0.0.20
2 years ago
0.0.19
2 years ago
0.0.18
2 years ago
0.0.17
2 years ago
0.0.16
2 years ago
0.0.15
2 years ago
0.0.13
2 years ago
0.0.12
2 years ago
0.0.11
2 years ago
0.0.10
2 years ago
0.0.8
2 years ago
0.0.7
2 years ago
0.0.6
2 years ago
0.0.5
2 years ago
0.0.4
2 years ago
0.0.3
2 years ago
0.0.2
2 years ago
0.0.1
2 years ago