Compare commits
5 Commits
36e47ebc8d
...
756dd6d8c2
Author | SHA1 | Date | |
---|---|---|---|
756dd6d8c2 | |||
838f1f3692 | |||
d423da62b4 | |||
beea6cbac7 | |||
35cdb6d870 |
2
dist/package.json
vendored
2
dist/package.json
vendored
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "nestlogged",
|
"name": "nestlogged",
|
||||||
"version": "3.0.0",
|
"version": "3.1.0",
|
||||||
"description": "A NestJS Logger Decorator Library",
|
"description": "A NestJS Logger Decorator Library",
|
||||||
"main": "lib/index.js",
|
"main": "lib/index.js",
|
||||||
"repository": "https://git.psw.kr/p-sw/nestlogged",
|
"repository": "https://git.psw.kr/p-sw/nestlogged",
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "nestlogged",
|
"name": "nestlogged",
|
||||||
"version": "3.0.0",
|
"version": "3.1.0",
|
||||||
"description": "A NestJS Logger Decorator Library",
|
"description": "A NestJS Logger Decorator Library",
|
||||||
"main": "./dist/lib/index.js",
|
"main": "./dist/lib/index.js",
|
||||||
"repository": "https://git.psw.kr/p-sw/nestlogged",
|
"repository": "https://git.psw.kr/p-sw/nestlogged",
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import {
|
import {
|
||||||
Logger,
|
Logger,
|
||||||
|
LogLevel,
|
||||||
Injectable,
|
Injectable,
|
||||||
Controller,
|
Controller,
|
||||||
ControllerOptions,
|
ControllerOptions,
|
||||||
@ -124,22 +125,34 @@ interface FunctionMetadata {
|
|||||||
}
|
}
|
||||||
|
|
||||||
interface OverrideBuildOptions {
|
interface OverrideBuildOptions {
|
||||||
|
callLogLevel: LogLevel | 'skip';
|
||||||
|
returnLogLevel: LogLevel | 'skip';
|
||||||
|
errorLogLevel: LogLevel | 'skip';
|
||||||
|
/** @deprecated use `callLogLevel: 'skip'` instead */
|
||||||
skipCallLog: boolean;
|
skipCallLog: boolean;
|
||||||
|
/** @deprecated use `returnLogLevel: 'skip'` instead */
|
||||||
skipReturnLog: boolean;
|
skipReturnLog: boolean;
|
||||||
|
/** @deprecated use `errorLogLevel: 'skip'` instead */
|
||||||
skipErrorLog: boolean;
|
skipErrorLog: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
const defaultOverrideBuildOptions: OverrideBuildOptions = {
|
const defaultOverrideBuildOptions: OverrideBuildOptions = {
|
||||||
|
callLogLevel: 'log',
|
||||||
|
returnLogLevel: 'log',
|
||||||
|
errorLogLevel: 'error',
|
||||||
skipCallLog: false,
|
skipCallLog: false,
|
||||||
skipReturnLog: false,
|
skipReturnLog: false,
|
||||||
skipErrorLog: false,
|
skipErrorLog: false,
|
||||||
}
|
}
|
||||||
|
|
||||||
class LoggedMetadata {
|
class LoggedMetadata {
|
||||||
options: Partial<OverrideBuildOptions>
|
options: OverrideBuildOptions
|
||||||
|
|
||||||
constructor(options?: Partial<OverrideBuildOptions>) {
|
constructor(options?: Partial<OverrideBuildOptions>) {
|
||||||
this.options = options ?? defaultOverrideBuildOptions
|
this.options = {
|
||||||
|
...defaultOverrideBuildOptions,
|
||||||
|
...(options ?? {}),
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
updateOption(options: Partial<OverrideBuildOptions>) {
|
updateOption(options: Partial<OverrideBuildOptions>) {
|
||||||
@ -176,13 +189,13 @@ function overrideBuild<F extends Array<any>, R>(
|
|||||||
injectedLogger = args[metadatas.scopedLoggerInjectableParam];
|
injectedLogger = args[metadatas.scopedLoggerInjectableParam];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!logged.options.skipCallLog) {
|
if (logged.options.callLogLevel !== 'skip') {
|
||||||
injectedLogger.log(
|
injectedLogger[logged.options.callLogLevel](
|
||||||
`${route ? "HIT HTTP" : "CALL"} ${route ? `${route.fullRoute} (${key})` : key
|
`${route ? "HIT HTTP" : "CALL"} ${route ? `${route.fullRoute} (${key})` : key
|
||||||
} ${metadatas.loggedParams && metadatas.loggedParams.length > 0
|
} ${metadatas.loggedParams && metadatas.loggedParams.length > 0
|
||||||
? "WITH " +
|
? "WITH " +
|
||||||
metadatas.loggedParams.map(
|
metadatas.loggedParams.map(
|
||||||
({name, index, include, exclude}) =>
|
({ name, index, include, exclude }) =>
|
||||||
name +
|
name +
|
||||||
"=" +
|
"=" +
|
||||||
imObjectContainedLogSync(args[index], {
|
imObjectContainedLogSync(args[index], {
|
||||||
@ -197,7 +210,7 @@ function overrideBuild<F extends Array<any>, R>(
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
const r: R = originalFunction.call(this, ...args);
|
const r: R = originalFunction.call(this, ...args);
|
||||||
if (!logged.options.skipReturnLog) {
|
if (logged.options.returnLogLevel !== 'skip') {
|
||||||
if (
|
if (
|
||||||
originalFunction.constructor.name === 'AsyncFunction' ||
|
originalFunction.constructor.name === 'AsyncFunction' ||
|
||||||
(r && typeof r === 'object' && typeof r['then'] === 'function')
|
(r && typeof r === 'object' && typeof r['then'] === 'function')
|
||||||
@ -222,7 +235,7 @@ function overrideBuild<F extends Array<any>, R>(
|
|||||||
: "WITH " + r
|
: "WITH " + r
|
||||||
: "";
|
: "";
|
||||||
|
|
||||||
injectedLogger.log(
|
injectedLogger[logged.options.returnLogLevel](
|
||||||
route
|
route
|
||||||
? `RETURNED HTTP ${route.fullRoute} (${key}) ${resultLogged}`
|
? `RETURNED HTTP ${route.fullRoute} (${key}) ${resultLogged}`
|
||||||
: `RETURNED ${key} ${resultLogged}`
|
: `RETURNED ${key} ${resultLogged}`
|
||||||
@ -249,7 +262,7 @@ function overrideBuild<F extends Array<any>, R>(
|
|||||||
: "WITH " + r
|
: "WITH " + r
|
||||||
: "";
|
: "";
|
||||||
|
|
||||||
injectedLogger.log(
|
injectedLogger[logged.options.returnLogLevel](
|
||||||
route
|
route
|
||||||
? `RETURNED HTTP ${route.fullRoute} (${key}) ${resultLogged}`
|
? `RETURNED HTTP ${route.fullRoute} (${key}) ${resultLogged}`
|
||||||
: `RETURNED ${key} ${resultLogged}`
|
: `RETURNED ${key} ${resultLogged}`
|
||||||
@ -260,8 +273,8 @@ function overrideBuild<F extends Array<any>, R>(
|
|||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
if (!logged.options.skipErrorLog) {
|
if (logged.options.errorLogLevel !== 'skip') {
|
||||||
injectedLogger.error(
|
injectedLogger[logged.options.errorLogLevel](
|
||||||
`WHILE ${route ? `HTTP ${route.fullRoute} (${key})` : key} ERROR ${e}`
|
`WHILE ${route ? `HTTP ${route.fullRoute} (${key})` : key} ERROR ${e}`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user