feat(nestlogged): add exception type on overrideBuild
This commit is contained in:
parent
0deaac596e
commit
9c4fdbd2b9
@ -1,4 +1,4 @@
|
||||
import { Logger, ExecutionContext } from '@nestjs/common';
|
||||
import { Logger, ExecutionContext, ArgumentsHost } from '@nestjs/common';
|
||||
import { LoggedParamReflectData, ReturnsReflectData } from '../reflected';
|
||||
import { LoggedMetadata } from './metadata';
|
||||
import {
|
||||
@ -26,7 +26,7 @@ export function overrideBuild<F extends Array<any>, R>(
|
||||
route: string,
|
||||
): (...args: F) => R;
|
||||
export function overrideBuild<F extends Array<any>, R>(
|
||||
type: 'function' | 'guard' | 'interceptor' | 'middleware',
|
||||
type: 'function' | 'guard' | 'interceptor' | 'middleware' | 'exception',
|
||||
originalFunction: (...args: F) => R,
|
||||
_target: any,
|
||||
metadatas: FunctionMetadata,
|
||||
@ -98,6 +98,16 @@ export function overrideBuild<F extends Array<any>, R>(
|
||||
[name, key],
|
||||
req[REQUEST_LOG_ID],
|
||||
);
|
||||
} else if (type === 'exception') {
|
||||
const req = (args[1] as ArgumentsHost).switchToHttp().getRequest();
|
||||
if (req[REQUEST_LOG_ID] === undefined) {
|
||||
req[REQUEST_LOG_ID] = ScopedLogger.createScopeId();
|
||||
}
|
||||
args[metadatas.scopedLoggerInjectableParam] = ScopedLogger.fromRoot(
|
||||
baseLogger,
|
||||
[name, key],
|
||||
req[REQUEST_LOG_ID],
|
||||
);
|
||||
} else if (type === 'route') {
|
||||
// args[metadatas.scopedLoggerInjectableParam] is now Request object, thanks to code in @LoggedRoute!!!!
|
||||
let req = args[metadatas.scopedLoggerInjectableParam];
|
||||
|
@ -32,7 +32,8 @@ export type BuildType =
|
||||
| 'function'
|
||||
| 'guard'
|
||||
| 'interceptor'
|
||||
| 'middleware';
|
||||
| 'middleware'
|
||||
| 'exception';
|
||||
|
||||
const callLogIdentifyMessageDictionary: Record<BuildType, string> = {
|
||||
route: 'ENDPOINT',
|
||||
@ -40,6 +41,7 @@ const callLogIdentifyMessageDictionary: Record<BuildType, string> = {
|
||||
guard: 'GUARD',
|
||||
interceptor: 'INTERCEPTOR',
|
||||
middleware: 'MIDDLEWARE',
|
||||
exception: 'EXCEPTION FILTER',
|
||||
};
|
||||
|
||||
export function createCallLogIdentifyMessage(
|
||||
|
Loading…
x
Reference in New Issue
Block a user