@cryptexlabs/codex-nodejs-common 0.7.6 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/package.json +1 -1
- package/lib/src/filter/app-http-exception-filter.js +5 -0
- package/lib/src/filter/app-http-exception-filter.js.map +1 -1
- package/lib/src/logger/custom.logger.d.ts +6 -6
- package/lib/src/logger/custom.logger.js +59 -21
- package/lib/src/logger/custom.logger.js.map +1 -1
- package/package.json +1 -1
- package/src/filter/app-http-exception-filter.ts +3 -0
- package/src/logger/custom.logger.spec.ts +40 -11
- package/src/logger/custom.logger.ts +53 -25
package/lib/package.json
CHANGED
|
@@ -41,10 +41,15 @@ let AppHttpExceptionFilter = class AppHttpExceptionFilter extends core_1.BaseExc
|
|
|
41
41
|
else if (Array.isArray(exception.stack)) {
|
|
42
42
|
stack = exception.stack;
|
|
43
43
|
}
|
|
44
|
+
else if (typeof exception.stack === "object") {
|
|
45
|
+
}
|
|
44
46
|
else {
|
|
45
47
|
logger.error("Strange Stack", exception.stack);
|
|
46
48
|
}
|
|
47
49
|
}
|
|
50
|
+
else if (typeof exception === "object" && exception.name) {
|
|
51
|
+
logger.error(`No stack available for error with name ${exception.name}`);
|
|
52
|
+
}
|
|
48
53
|
else {
|
|
49
54
|
logger.error(`No stack available for error of type ${typeof exception}`);
|
|
50
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-http-exception-filter.js","sourceRoot":"","sources":["../../../src/filter/app-http-exception-filter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAQwB;AACxB,uCAAmD;AAEnD,0CAA8D;AAC9D,4CAAqD;AACrD,oEAAuD;AACvD,gDAA8C;AAC9C,0CAA8C;AAC9C,sCAA0C;AAI1C,IAAa,sBAAsB,GAAnC,MAAa,sBAAuB,SAAQ,0BAAmB;IAC7D,YACmB,cAAsB,EACtB,cAA6B,EAC7B,MAAqB,EACtC,cAA2B;QAE3B,KAAK,CAAC,cAAc,CAAC,CAAC;QALL,mBAAc,GAAd,cAAc,CAAQ;QACtB,mBAAc,GAAd,cAAc,CAAe;QAC7B,WAAM,GAAN,MAAM,CAAe;IAIxC,CAAC;IAED,KAAK,CAAC,SAAc,EAAE,IAAmB;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,EAAW,CAAC;QAC1C,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAEnC,MAAM,MAAM,GACV,SAAS,YAAY,iCAAqB;YACxC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM;YAC1B,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;QAE1B,IAAI,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1E,IAAI,KAAK,GAAG,8BAA8B,CAAC;QAE3C,IAAI,SAAS,CAAC,KAAK,EAAE;YACnB,IAAI,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ,EAAE;gBACvC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;aAChE;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;gBACzC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;aACzB;iBAAM;gBACL,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;aAChD;SACF;aAAM;YACL,MAAM,CAAC,KAAK,CAAC,wCAAwC,OAAO,SAAS,EAAE,CAAC,CAAC;SAC1E;QAED,IAAI,aAAa,EAAE;YACjB,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE;gBAC1B,OAAO,EAAE;oBACP,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,KAAK;iBACN;aACF,CAAC,CAAC;SACJ;aAAM;YACL,MAAM,CAAC,KAAK,CACV;gBACE,qBAAqB;gBACrB,sFAAsF;gBACtF,2BAA2B;aAC5B,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ;gBACE,KAAK;aACN,CACF,CAAC;SACH;QAGD,IAAI,CAAC,CAAC,SAAS,YAAY,sBAAa,CAAC,IAAI,SAAS,CAAC,KAAK,EAAE;YAC5D,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SAC/B;QAED,MAAM,MAAM,GACV,SAAS,CAAC,SAAS,KAAK,SAAS;YACjC,OAAO,SAAS,CAAC,SAAS,KAAK,UAAU;YACvC,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE;YACvB,CAAC,CAAC,mBAAU,CAAC,qBAAqB,CAAC;QAEvC,MAAM,MAAM,GACV,SAAS,YAAY,iCAAqB;YACxC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM;YAC1B,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;QAE1B,MAAM,aAAa,GACjB,SAAS,YAAY,iCAAqB;YACxC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa;YACjC,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,OAAO,GACX,SAAS,YAAY,iCAAqB;YACxC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO;YAC3B,CAAC,CAAC,SAAS,CAAC;QAEhB,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAEzD,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QAEvE,MAAM,iBAAiB,GAAG,IAAI,4BAAiB,CAC7C,MAAM,EACN,MAAM,EACN,IAAI,uBAAY,CACd,MAAM,EACN,kBAAQ,EACR,IAAI,EACJ,IAAI,EACJ,aAAa,EACb,WAAW,CACZ,EACD,SAAS,CAAC,KAAK,IAAI,IAAI,EACvB,IAAI,CAAC,MAAM,EACX,aAAa,EACb,OAAO,CACR,CAAC;QAEF,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAClD,CAAC;IAED,gBAAgB,CAAC,SAAc,EAAE,MAAW;QAC1C,IAAI,aAAa,GAAW,kBAAQ,CAAC,EAAE,CAAC;YACtC,MAAM,EAAE,kBAAW,CAAC,aAAa;YACjC,MAAM,EAAE,MAAM,CAAC,IAAI;SACpB,CAAC,CAAC;QACH,IAAI,SAAS,EAAE;YACb,IAAI,SAAS,CAAC,SAAS,EAAE;gBACvB,IAAI,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE;oBACpD,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;wBAC7C,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;qBACxD;yBAAM;wBACL,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;qBAC5C;iBACF;qBAAM,IAAI,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE;oBACpC,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;iBAC3C;qBAAM,IAAI,SAAS,CAAC,WAAW,EAAE;oBAChC,aAAa,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;iBACzC;qBAAM;oBACL,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC;iBACnC;aACF;iBAAM,IAAI,SAAS,CAAC,OAAO,EAAE;gBAC5B,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC;aACnC;SACF;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;CACF,CAAA;
|
|
1
|
+
{"version":3,"file":"app-http-exception-filter.js","sourceRoot":"","sources":["../../../src/filter/app-http-exception-filter.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,10 +4,10 @@ export declare class CustomLogger implements LoggerService {
|
|
|
4
4
|
private readonly logger;
|
|
5
5
|
private readonly filterContext;
|
|
6
6
|
constructor(defaultContext?: string, filterContext?: string[], isTimestampEnabled?: boolean, logger?: LoggerService);
|
|
7
|
-
log(message: string,
|
|
8
|
-
error(error: string | Error,
|
|
9
|
-
debug(message: any,
|
|
10
|
-
verbose(message: any,
|
|
11
|
-
warn(message: any,
|
|
12
|
-
info(message: any
|
|
7
|
+
log(message: string, ...optionalParams: any): void;
|
|
8
|
+
error(error: string | Error, ...optionalParams: any): void;
|
|
9
|
+
debug(message: any, ...optionalParams: any): void;
|
|
10
|
+
verbose(message: any, ...optionalParams: any): any;
|
|
11
|
+
warn(message: any, ...optionalParams: any): any;
|
|
12
|
+
info(message: any): any;
|
|
13
13
|
}
|
|
@@ -24,29 +24,26 @@ let CustomLogger = class CustomLogger {
|
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
-
log(message,
|
|
28
|
-
if (context === "") {
|
|
29
|
-
context = this.defaultContext;
|
|
30
|
-
}
|
|
27
|
+
log(message, ...optionalParams) {
|
|
31
28
|
if (this.filterContext.length > 0) {
|
|
32
|
-
if (this.filterContext.includes(
|
|
33
|
-
this.logger.log(message,
|
|
29
|
+
if (this.filterContext.includes("log")) {
|
|
30
|
+
this.logger.log(message, ...optionalParams);
|
|
34
31
|
}
|
|
35
32
|
}
|
|
36
33
|
else {
|
|
37
|
-
this.logger.log(message,
|
|
34
|
+
this.logger.log(message, ...optionalParams);
|
|
38
35
|
}
|
|
39
36
|
}
|
|
40
|
-
error(error,
|
|
37
|
+
error(error, ...optionalParams) {
|
|
41
38
|
let message;
|
|
42
39
|
let useTrace;
|
|
43
40
|
if (error instanceof Error) {
|
|
44
41
|
message = error.message;
|
|
45
42
|
useTrace = error.stack;
|
|
46
43
|
}
|
|
47
|
-
else {
|
|
44
|
+
else if (typeof error === "object" && error.stack) {
|
|
48
45
|
message = error;
|
|
49
|
-
useTrace =
|
|
46
|
+
useTrace = error.stack;
|
|
50
47
|
}
|
|
51
48
|
if (!message && error.message) {
|
|
52
49
|
message = error.message;
|
|
@@ -54,26 +51,67 @@ let CustomLogger = class CustomLogger {
|
|
|
54
51
|
if (!useTrace && error.stack) {
|
|
55
52
|
useTrace = error.stack;
|
|
56
53
|
}
|
|
54
|
+
if (!message && typeof error === "string") {
|
|
55
|
+
message = error;
|
|
56
|
+
}
|
|
57
57
|
if (this.filterContext.length > 0) {
|
|
58
|
-
if (this.filterContext.includes(
|
|
59
|
-
|
|
58
|
+
if (this.filterContext.includes("error")) {
|
|
59
|
+
if (useTrace) {
|
|
60
|
+
this.logger.error(message, Object.assign({ trace: useTrace }, optionalParams));
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
this.logger.error(message, ...optionalParams);
|
|
64
|
+
}
|
|
60
65
|
}
|
|
61
66
|
}
|
|
62
67
|
else {
|
|
63
|
-
|
|
68
|
+
if (useTrace) {
|
|
69
|
+
this.logger.error(message, Object.assign({ trace: useTrace }, optionalParams));
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
this.logger.error(message, ...optionalParams);
|
|
73
|
+
}
|
|
64
74
|
}
|
|
65
75
|
}
|
|
66
|
-
debug(message,
|
|
67
|
-
this.
|
|
76
|
+
debug(message, ...optionalParams) {
|
|
77
|
+
if (this.filterContext.length > 0) {
|
|
78
|
+
if (this.filterContext.includes("debug")) {
|
|
79
|
+
this.logger.debug(message, ...optionalParams);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
this.logger.debug(message, ...optionalParams);
|
|
84
|
+
}
|
|
68
85
|
}
|
|
69
|
-
verbose(message,
|
|
70
|
-
this.
|
|
86
|
+
verbose(message, ...optionalParams) {
|
|
87
|
+
if (this.filterContext.length > 0) {
|
|
88
|
+
if (this.filterContext.includes("verbose")) {
|
|
89
|
+
this.logger.verbose(message, ...optionalParams);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
this.logger.verbose(message, ...optionalParams);
|
|
94
|
+
}
|
|
71
95
|
}
|
|
72
|
-
warn(message,
|
|
73
|
-
this.
|
|
96
|
+
warn(message, ...optionalParams) {
|
|
97
|
+
if (this.filterContext.length > 0) {
|
|
98
|
+
if (this.filterContext.includes("warn")) {
|
|
99
|
+
this.logger.warn(message, ...optionalParams);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
this.logger.warn(message, ...optionalParams);
|
|
104
|
+
}
|
|
74
105
|
}
|
|
75
|
-
info(message
|
|
76
|
-
this.
|
|
106
|
+
info(message) {
|
|
107
|
+
if (this.filterContext.length > 0) {
|
|
108
|
+
if (this.filterContext.includes("info")) {
|
|
109
|
+
this.logger.log(message, "info");
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
this.logger.log(message, "info");
|
|
114
|
+
}
|
|
77
115
|
}
|
|
78
116
|
};
|
|
79
117
|
CustomLogger = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom.logger.js","sourceRoot":"","sources":["../../../src/logger/custom.logger.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAmE;AAGnE,IAAa,YAAY,GAAzB,MAAa,YAAY;IAIvB,YACU,iBAAyB,MAAM,EACvC,gBAA0B,EAAE,EAC5B,kBAA4B,EAC5B,MAAsB;QAHd,mBAAc,GAAd,cAAc,CAAiB;QAKvC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QAEnC,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;SACtB;aAAM;YACL,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,cAAc,EAAE;gBACvC,SAAS,EAAE,kBAAkB;aAC9B,CAAC,CAAC;SACJ;IACH,CAAC;IAEM,GAAG,CAAC,OAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"custom.logger.js","sourceRoot":"","sources":["../../../src/logger/custom.logger.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -46,9 +46,12 @@ export class AppHttpExceptionFilter extends BaseExceptionFilter {
|
|
|
46
46
|
stack = exception.stack.split("\n").map((line) => line.trim());
|
|
47
47
|
} else if (Array.isArray(exception.stack)) {
|
|
48
48
|
stack = exception.stack;
|
|
49
|
+
} else if (typeof exception.stack === "object") {
|
|
49
50
|
} else {
|
|
50
51
|
logger.error("Strange Stack", exception.stack);
|
|
51
52
|
}
|
|
53
|
+
} else if (typeof exception === "object" && exception.name) {
|
|
54
|
+
logger.error(`No stack available for error with name ${exception.name}`);
|
|
52
55
|
} else {
|
|
53
56
|
logger.error(`No stack available for error of type ${typeof exception}`);
|
|
54
57
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CustomLogger } from "./custom.logger";
|
|
2
2
|
import { Logger } from "@nestjs/common";
|
|
3
|
-
import { instance, mock, verify } from "ts-mockito";
|
|
3
|
+
import { deepEqual, instance, mock, verify } from "ts-mockito";
|
|
4
4
|
|
|
5
5
|
describe("CustomLogger", () => {
|
|
6
6
|
let loggerMock: Logger;
|
|
@@ -17,13 +17,13 @@ describe("CustomLogger", () => {
|
|
|
17
17
|
|
|
18
18
|
it("Should allow the default context when no filtered contexts are provided", () => {
|
|
19
19
|
const customLogger = new CustomLogger("info", [], true, loggerMock);
|
|
20
|
-
customLogger.
|
|
20
|
+
customLogger.info("hello");
|
|
21
21
|
verify(mockedLogger.log("hello", "info")).once();
|
|
22
22
|
});
|
|
23
23
|
|
|
24
24
|
it("Should allow the default context allowed filtered contexts is provided", () => {
|
|
25
25
|
const customLogger = new CustomLogger("info", ["info"], true, loggerMock);
|
|
26
|
-
customLogger.
|
|
26
|
+
customLogger.info("hello");
|
|
27
27
|
verify(mockedLogger.log("hello", "info")).once();
|
|
28
28
|
});
|
|
29
29
|
|
|
@@ -36,19 +36,19 @@ describe("CustomLogger", () => {
|
|
|
36
36
|
it("Should not allow custom context when filtered contexts does not include custom context", () => {
|
|
37
37
|
const customLogger = new CustomLogger("info", ["debug"], true, loggerMock);
|
|
38
38
|
customLogger.log("hello", "error");
|
|
39
|
-
verify(mockedLogger.
|
|
39
|
+
verify(mockedLogger.error("hello")).never();
|
|
40
40
|
});
|
|
41
41
|
|
|
42
42
|
it("Should not allow error with a method when filtered contexts does not include error", () => {
|
|
43
43
|
const customLogger = new CustomLogger("info", ["debug"], true, loggerMock);
|
|
44
44
|
customLogger.error("hello", "", "");
|
|
45
|
-
verify(mockedLogger.error("hello", ""
|
|
45
|
+
verify(mockedLogger.error("hello", "")).never();
|
|
46
46
|
});
|
|
47
47
|
|
|
48
48
|
it("Should not allow debug with a method when filtered contexts does not include debug", () => {
|
|
49
49
|
const customLogger = new CustomLogger("info", ["info"], true, loggerMock);
|
|
50
50
|
customLogger.debug("hello");
|
|
51
|
-
verify(mockedLogger.
|
|
51
|
+
verify(mockedLogger.debug("hello")).never();
|
|
52
52
|
});
|
|
53
53
|
|
|
54
54
|
it("Should not allow info with a method when filtered contexts does not include info", () => {
|
|
@@ -60,13 +60,13 @@ describe("CustomLogger", () => {
|
|
|
60
60
|
it("Should not allow verbose with a method when filtered contexts does not include verbose", () => {
|
|
61
61
|
const customLogger = new CustomLogger("info", ["info"], true, loggerMock);
|
|
62
62
|
customLogger.verbose("hello");
|
|
63
|
-
verify(mockedLogger.
|
|
63
|
+
verify(mockedLogger.verbose("hello")).never();
|
|
64
64
|
});
|
|
65
65
|
|
|
66
66
|
it("Should not allow warn with a method when filtered contexts does not include warn", () => {
|
|
67
67
|
const customLogger = new CustomLogger("info", ["info"], true, loggerMock);
|
|
68
68
|
customLogger.warn("hello");
|
|
69
|
-
verify(mockedLogger.
|
|
69
|
+
verify(mockedLogger.warn("hello")).never();
|
|
70
70
|
});
|
|
71
71
|
|
|
72
72
|
it("Should allow debug with a method when filtered contexts does not include debug", () => {
|
|
@@ -77,12 +77,41 @@ describe("CustomLogger", () => {
|
|
|
77
77
|
loggerMock
|
|
78
78
|
);
|
|
79
79
|
customLogger.debug("hello");
|
|
80
|
-
verify(mockedLogger.
|
|
80
|
+
verify(mockedLogger.debug("hello")).once();
|
|
81
81
|
});
|
|
82
82
|
|
|
83
83
|
it("Should allow error when error is in filtered context", () => {
|
|
84
84
|
const customLogger = new CustomLogger("info", ["error"], true, loggerMock);
|
|
85
|
-
customLogger.error("hello"
|
|
86
|
-
verify(mockedLogger.error("hello"
|
|
85
|
+
customLogger.error("hello");
|
|
86
|
+
verify(mockedLogger.error("hello")).once();
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
it("Should send custom options with debug level", () => {
|
|
90
|
+
const customLogger = new CustomLogger("info", ["debug"], true, loggerMock);
|
|
91
|
+
customLogger.debug("hello", { world: "gone" });
|
|
92
|
+
verify(mockedLogger.debug("hello", deepEqual({ world: "gone" }))).once();
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
it("Should send custom options with error level", () => {
|
|
96
|
+
const customLogger = new CustomLogger("info", ["error"], true, loggerMock);
|
|
97
|
+
customLogger.error("hello", { world: "gone" });
|
|
98
|
+
verify(mockedLogger.error("hello", deepEqual({ world: "gone" }))).once();
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
it("Should send custom options with verbose level", () => {
|
|
102
|
+
const customLogger = new CustomLogger(
|
|
103
|
+
"info",
|
|
104
|
+
["verbose"],
|
|
105
|
+
true,
|
|
106
|
+
loggerMock
|
|
107
|
+
);
|
|
108
|
+
customLogger.verbose("hello", { world: "gone" });
|
|
109
|
+
verify(mockedLogger.verbose("hello", deepEqual({ world: "gone" }))).once();
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
it("Should send custom options with warn level", () => {
|
|
113
|
+
const customLogger = new CustomLogger("info", ["warn"], true, loggerMock);
|
|
114
|
+
customLogger.warn("hello", { world: "gone" });
|
|
115
|
+
verify(mockedLogger.warn("hello", deepEqual({ world: "gone" }))).once();
|
|
87
116
|
});
|
|
88
117
|
});
|
|
@@ -22,32 +22,25 @@ export class CustomLogger implements LoggerService {
|
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
public log(message: string,
|
|
26
|
-
if (context === "") {
|
|
27
|
-
context = this.defaultContext;
|
|
28
|
-
}
|
|
25
|
+
public log(message: string, ...optionalParams: any) {
|
|
29
26
|
if (this.filterContext.length > 0) {
|
|
30
|
-
if (this.filterContext.includes(
|
|
31
|
-
this.logger.log(message,
|
|
27
|
+
if (this.filterContext.includes("log")) {
|
|
28
|
+
this.logger.log(message, ...optionalParams);
|
|
32
29
|
}
|
|
33
30
|
} else {
|
|
34
|
-
this.logger.log(message,
|
|
31
|
+
this.logger.log(message, ...optionalParams);
|
|
35
32
|
}
|
|
36
33
|
}
|
|
37
34
|
|
|
38
|
-
public error(
|
|
39
|
-
error: string | Error,
|
|
40
|
-
trace: string,
|
|
41
|
-
context: string = "error"
|
|
42
|
-
) {
|
|
35
|
+
public error(error: string | Error, ...optionalParams: any) {
|
|
43
36
|
let message;
|
|
44
37
|
let useTrace;
|
|
45
38
|
if (error instanceof Error) {
|
|
46
39
|
message = error.message;
|
|
47
40
|
useTrace = error.stack;
|
|
48
|
-
} else {
|
|
41
|
+
} else if (typeof error === "object" && (error as any).stack) {
|
|
49
42
|
message = error;
|
|
50
|
-
useTrace =
|
|
43
|
+
useTrace = (error as any).stack;
|
|
51
44
|
}
|
|
52
45
|
if (!message && ((error as any).message as any)) {
|
|
53
46
|
message = (error as any).message;
|
|
@@ -55,29 +48,64 @@ export class CustomLogger implements LoggerService {
|
|
|
55
48
|
if (!useTrace && ((error as any).stack as any)) {
|
|
56
49
|
useTrace = (error as any).stack;
|
|
57
50
|
}
|
|
51
|
+
if (!message && typeof error === "string") {
|
|
52
|
+
message = error;
|
|
53
|
+
}
|
|
58
54
|
|
|
59
55
|
if (this.filterContext.length > 0) {
|
|
60
|
-
if (this.filterContext.includes(
|
|
61
|
-
|
|
56
|
+
if (this.filterContext.includes("error")) {
|
|
57
|
+
if (useTrace) {
|
|
58
|
+
this.logger.error(message, { trace: useTrace, ...optionalParams });
|
|
59
|
+
} else {
|
|
60
|
+
this.logger.error(message, ...optionalParams);
|
|
61
|
+
}
|
|
62
62
|
}
|
|
63
63
|
} else {
|
|
64
|
-
|
|
64
|
+
if (useTrace) {
|
|
65
|
+
this.logger.error(message, { trace: useTrace, ...optionalParams });
|
|
66
|
+
} else {
|
|
67
|
+
this.logger.error(message, ...optionalParams);
|
|
68
|
+
}
|
|
65
69
|
}
|
|
66
70
|
}
|
|
67
71
|
|
|
68
|
-
public debug(message: any,
|
|
69
|
-
this.
|
|
72
|
+
public debug(message: any, ...optionalParams: any) {
|
|
73
|
+
if (this.filterContext.length > 0) {
|
|
74
|
+
if (this.filterContext.includes("debug")) {
|
|
75
|
+
this.logger.debug(message, ...optionalParams);
|
|
76
|
+
}
|
|
77
|
+
} else {
|
|
78
|
+
this.logger.debug(message, ...optionalParams);
|
|
79
|
+
}
|
|
70
80
|
}
|
|
71
81
|
|
|
72
|
-
public verbose(message: any,
|
|
73
|
-
this.
|
|
82
|
+
public verbose(message: any, ...optionalParams: any): any {
|
|
83
|
+
if (this.filterContext.length > 0) {
|
|
84
|
+
if (this.filterContext.includes("verbose")) {
|
|
85
|
+
this.logger.verbose(message, ...optionalParams);
|
|
86
|
+
}
|
|
87
|
+
} else {
|
|
88
|
+
this.logger.verbose(message, ...optionalParams);
|
|
89
|
+
}
|
|
74
90
|
}
|
|
75
91
|
|
|
76
|
-
public warn(message: any,
|
|
77
|
-
this.
|
|
92
|
+
public warn(message: any, ...optionalParams: any): any {
|
|
93
|
+
if (this.filterContext.length > 0) {
|
|
94
|
+
if (this.filterContext.includes("warn")) {
|
|
95
|
+
this.logger.warn(message, ...optionalParams);
|
|
96
|
+
}
|
|
97
|
+
} else {
|
|
98
|
+
this.logger.warn(message, ...optionalParams);
|
|
99
|
+
}
|
|
78
100
|
}
|
|
79
101
|
|
|
80
|
-
public info(message: any
|
|
81
|
-
this.
|
|
102
|
+
public info(message: any): any {
|
|
103
|
+
if (this.filterContext.length > 0) {
|
|
104
|
+
if (this.filterContext.includes("info")) {
|
|
105
|
+
this.logger.log(message, "info");
|
|
106
|
+
}
|
|
107
|
+
} else {
|
|
108
|
+
this.logger.log(message, "info");
|
|
109
|
+
}
|
|
82
110
|
}
|
|
83
111
|
}
|