@greguintow/nestjs-sentry
Version:
Provides an injectable sentry.io client to provide enterprise logging nestjs modules
46 lines (45 loc) • 1.59 kB
TypeScript
import { ModuleMetadata, Type } from '@nestjs/common/interfaces';
import { Integration, Options } from '@sentry/types';
import { Severity } from '@sentry/node';
import { ConsoleLoggerOptions } from '@nestjs/common';
export interface SentryCloseOptions {
enabled: boolean;
timeout?: number;
}
export declare type SentryModuleOptions = Omit<Options, 'integrations'> & {
integrations?: Integration[];
close?: SentryCloseOptions;
} & ConsoleLoggerOptions;
export interface SentryOptionsFactory {
createSentryModuleOptions(): Promise<SentryModuleOptions> | SentryModuleOptions;
}
export interface SentryModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'> {
inject?: any[];
useClass?: Type<SentryOptionsFactory>;
useExisting?: Type<SentryOptionsFactory>;
useFactory?: (...args: any[]) => Promise<SentryModuleOptions> | SentryModuleOptions;
}
export declare type SentryTransaction = boolean | 'path' | 'methodPath' | 'handler';
export interface SentryFilterFunction {
(exception: any): boolean;
}
export interface SentryInterceptorOptionsFilter {
type?: any;
filter?: SentryFilterFunction;
}
export interface SentryInterceptorOptions {
filters?: SentryInterceptorOptionsFilter[];
tags?: {
[key: string]: string;
};
extra?: {
[key: string]: any;
};
fingerprint?: string[];
level?: Severity;
request?: boolean;
serverName?: boolean;
transaction?: boolean | 'path' | 'methodPath' | 'handler';
user?: boolean | string[];
version?: boolean;
}