@tsed/platform-log-middleware 7.29.1 → 7.30.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/jest.config.js +1 -1
- package/lib/cjs/middlewares/PlatformLogMiddleware.js +46 -25
- package/lib/cjs/middlewares/PlatformLogMiddleware.js.map +1 -1
- package/lib/esm/middlewares/PlatformLogMiddleware.js +46 -25
- package/lib/esm/middlewares/PlatformLogMiddleware.js.map +1 -1
- package/lib/tsconfig.esm.tsbuildinfo +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/types/domain/PlatformLogMiddlewareSettings.d.ts +3 -3
- package/lib/types/middlewares/PlatformLogMiddleware.d.ts +4 -4
- package/package.json +9 -9
package/jest.config.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PlatformLogMiddleware = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
+
const core_1 = require("@tsed/core");
|
|
5
6
|
const di_1 = require("@tsed/di");
|
|
6
7
|
const platform_middlewares_1 = require("@tsed/platform-middlewares");
|
|
7
8
|
const platform_params_1 = require("@tsed/platform-params");
|
|
@@ -26,6 +27,51 @@ let PlatformLogMiddleware = class PlatformLogMiddleware {
|
|
|
26
27
|
this.onLogStart(ctx);
|
|
27
28
|
ctx.response.onEnd(() => this.onLogEnd(ctx));
|
|
28
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Called when the `$onResponse` is called by Ts.ED (through Express.end).
|
|
32
|
+
*/
|
|
33
|
+
onLogEnd(ctx) {
|
|
34
|
+
const { logRequest, logEnd, logLevel } = this.settings;
|
|
35
|
+
const started = ctx.logStarted;
|
|
36
|
+
if (logEnd && started) {
|
|
37
|
+
if (ctx.response.statusCode >= 400) {
|
|
38
|
+
ctx.logger.error({
|
|
39
|
+
event: "request.end",
|
|
40
|
+
status: ctx.response.statusCode,
|
|
41
|
+
status_code: String(ctx.response.statusCode),
|
|
42
|
+
state: "KO",
|
|
43
|
+
...(0, core_1.cleanObject)({
|
|
44
|
+
error_name: ctx.error?.name,
|
|
45
|
+
error_message: ctx.error?.message,
|
|
46
|
+
error_errors: ctx.error?.errors,
|
|
47
|
+
error_stack: ctx.error?.stack,
|
|
48
|
+
error_body: ctx.error?.body,
|
|
49
|
+
error_headers: ctx.error?.headers
|
|
50
|
+
})
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
if (logLevel === "debug") {
|
|
55
|
+
ctx.logger.debug({
|
|
56
|
+
event: "request.end",
|
|
57
|
+
status: ctx.response.statusCode,
|
|
58
|
+
status_code: String(ctx.response.statusCode),
|
|
59
|
+
data: ctx.data,
|
|
60
|
+
state: "OK"
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
else if (logRequest) {
|
|
64
|
+
ctx.logger.info({
|
|
65
|
+
event: "request.end",
|
|
66
|
+
status: ctx.response.statusCode,
|
|
67
|
+
status_code: String(ctx.response.statusCode),
|
|
68
|
+
state: "OK"
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
ctx.logger.flush();
|
|
74
|
+
}
|
|
29
75
|
/**
|
|
30
76
|
* The separate onLogStart() function will allow developer to overwrite the initial request log.
|
|
31
77
|
* @param ctx
|
|
@@ -46,31 +92,6 @@ let PlatformLogMiddleware = class PlatformLogMiddleware {
|
|
|
46
92
|
}
|
|
47
93
|
}
|
|
48
94
|
}
|
|
49
|
-
/**
|
|
50
|
-
* Called when the `$onResponse` is called by Ts.ED (through Express.end).
|
|
51
|
-
*/
|
|
52
|
-
onLogEnd(ctx) {
|
|
53
|
-
const { logRequest, logEnd, logLevel } = this.settings;
|
|
54
|
-
const started = ctx.logStarted;
|
|
55
|
-
if (logEnd && started) {
|
|
56
|
-
if (logLevel === "debug") {
|
|
57
|
-
ctx.logger.debug({
|
|
58
|
-
event: "request.end",
|
|
59
|
-
status: ctx.response.statusCode,
|
|
60
|
-
status_code: String(ctx.response.statusCode),
|
|
61
|
-
data: ctx.data
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
else if (logRequest) {
|
|
65
|
-
ctx.logger.info({
|
|
66
|
-
event: "request.end",
|
|
67
|
-
status: ctx.response.statusCode,
|
|
68
|
-
status_code: String(ctx.response.statusCode)
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
ctx.logger.flush();
|
|
73
|
-
}
|
|
74
95
|
/**
|
|
75
96
|
* Attach all information that will be necessary to log the request. Attach a new `request.log` object.
|
|
76
97
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlatformLogMiddleware.js","sourceRoot":"","sources":["../../../src/middlewares/PlatformLogMiddleware.ts"],"names":[],"mappings":";;;;AAAA,iCAAkC;AAClC,qEAAyE;AACzE,2DAA8C;AAG9C;;;GAGG;AAEI,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAEtB,aAAa,CAAsB;IAGnC,UAAU,CAAU;IAGpB,QAAQ,CAAU;IAGlB,MAAM,CAAU;IAGhB,QAAQ,CAAS;IAE3B,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACI,GAAG,CAAY,GAAY;QAChC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAErB,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"PlatformLogMiddleware.js","sourceRoot":"","sources":["../../../src/middlewares/PlatformLogMiddleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { __decorate, __metadata, __param } from "tslib";
|
|
2
|
+
import { cleanObject } from "@tsed/core";
|
|
2
3
|
import { Constant } from "@tsed/di";
|
|
3
4
|
import { Middleware } from "@tsed/platform-middlewares";
|
|
4
5
|
import { Context } from "@tsed/platform-params";
|
|
@@ -23,6 +24,51 @@ let PlatformLogMiddleware = class PlatformLogMiddleware {
|
|
|
23
24
|
this.onLogStart(ctx);
|
|
24
25
|
ctx.response.onEnd(() => this.onLogEnd(ctx));
|
|
25
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Called when the `$onResponse` is called by Ts.ED (through Express.end).
|
|
29
|
+
*/
|
|
30
|
+
onLogEnd(ctx) {
|
|
31
|
+
const { logRequest, logEnd, logLevel } = this.settings;
|
|
32
|
+
const started = ctx.logStarted;
|
|
33
|
+
if (logEnd && started) {
|
|
34
|
+
if (ctx.response.statusCode >= 400) {
|
|
35
|
+
ctx.logger.error({
|
|
36
|
+
event: "request.end",
|
|
37
|
+
status: ctx.response.statusCode,
|
|
38
|
+
status_code: String(ctx.response.statusCode),
|
|
39
|
+
state: "KO",
|
|
40
|
+
...cleanObject({
|
|
41
|
+
error_name: ctx.error?.name,
|
|
42
|
+
error_message: ctx.error?.message,
|
|
43
|
+
error_errors: ctx.error?.errors,
|
|
44
|
+
error_stack: ctx.error?.stack,
|
|
45
|
+
error_body: ctx.error?.body,
|
|
46
|
+
error_headers: ctx.error?.headers
|
|
47
|
+
})
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
if (logLevel === "debug") {
|
|
52
|
+
ctx.logger.debug({
|
|
53
|
+
event: "request.end",
|
|
54
|
+
status: ctx.response.statusCode,
|
|
55
|
+
status_code: String(ctx.response.statusCode),
|
|
56
|
+
data: ctx.data,
|
|
57
|
+
state: "OK"
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
else if (logRequest) {
|
|
61
|
+
ctx.logger.info({
|
|
62
|
+
event: "request.end",
|
|
63
|
+
status: ctx.response.statusCode,
|
|
64
|
+
status_code: String(ctx.response.statusCode),
|
|
65
|
+
state: "OK"
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
ctx.logger.flush();
|
|
71
|
+
}
|
|
26
72
|
/**
|
|
27
73
|
* The separate onLogStart() function will allow developer to overwrite the initial request log.
|
|
28
74
|
* @param ctx
|
|
@@ -43,31 +89,6 @@ let PlatformLogMiddleware = class PlatformLogMiddleware {
|
|
|
43
89
|
}
|
|
44
90
|
}
|
|
45
91
|
}
|
|
46
|
-
/**
|
|
47
|
-
* Called when the `$onResponse` is called by Ts.ED (through Express.end).
|
|
48
|
-
*/
|
|
49
|
-
onLogEnd(ctx) {
|
|
50
|
-
const { logRequest, logEnd, logLevel } = this.settings;
|
|
51
|
-
const started = ctx.logStarted;
|
|
52
|
-
if (logEnd && started) {
|
|
53
|
-
if (logLevel === "debug") {
|
|
54
|
-
ctx.logger.debug({
|
|
55
|
-
event: "request.end",
|
|
56
|
-
status: ctx.response.statusCode,
|
|
57
|
-
status_code: String(ctx.response.statusCode),
|
|
58
|
-
data: ctx.data
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
else if (logRequest) {
|
|
62
|
-
ctx.logger.info({
|
|
63
|
-
event: "request.end",
|
|
64
|
-
status: ctx.response.statusCode,
|
|
65
|
-
status_code: String(ctx.response.statusCode)
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
ctx.logger.flush();
|
|
70
|
-
}
|
|
71
92
|
/**
|
|
72
93
|
* Attach all information that will be necessary to log the request. Attach a new `request.log` object.
|
|
73
94
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlatformLogMiddleware.js","sourceRoot":"","sources":["../../../src/middlewares/PlatformLogMiddleware.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAClC,OAAO,EAAC,UAAU,EAAoB,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAC,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAG9C;;;GAGG;AAEI,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAEtB,aAAa,CAAsB;IAGnC,UAAU,CAAU;IAGpB,QAAQ,CAAU;IAGlB,MAAM,CAAU;IAGhB,QAAQ,CAAS;IAE3B,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACI,GAAG,CAAY,GAAY;QAChC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAErB,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"PlatformLogMiddleware.js","sourceRoot":"","sources":["../../../src/middlewares/PlatformLogMiddleware.ts"],"names":[],"mappings":"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"}
|