@lark-apaas/nestjs-logger 1.0.0 → 1.0.1-alpha.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/README.md +24 -0
- package/dist/index.cjs +31 -34
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +31 -34
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -10567,7 +10567,7 @@ var require_tap = __commonJS({
|
|
|
10567
10567
|
var lift_1 = require_lift();
|
|
10568
10568
|
var OperatorSubscriber_1 = require_OperatorSubscriber();
|
|
10569
10569
|
var identity_1 = require_identity();
|
|
10570
|
-
function
|
|
10570
|
+
function tap(observerOrNext, error, complete) {
|
|
10571
10571
|
var tapObserver = isFunction_1.isFunction(observerOrNext) || error || complete ? {
|
|
10572
10572
|
next: observerOrNext,
|
|
10573
10573
|
error,
|
|
@@ -10600,8 +10600,8 @@ var require_tap = __commonJS({
|
|
|
10600
10600
|
}));
|
|
10601
10601
|
}) : identity_1.identity;
|
|
10602
10602
|
}
|
|
10603
|
-
__name(
|
|
10604
|
-
exports.tap =
|
|
10603
|
+
__name(tap, "tap");
|
|
10604
|
+
exports.tap = tap;
|
|
10605
10605
|
}
|
|
10606
10606
|
});
|
|
10607
10607
|
|
|
@@ -14844,6 +14844,16 @@ var LoggingInterceptor = class {
|
|
|
14844
14844
|
ip: req.ip ?? null,
|
|
14845
14845
|
pid: process.pid
|
|
14846
14846
|
};
|
|
14847
|
+
const originalJson = res.json.bind(res);
|
|
14848
|
+
const originalSend = res.send.bind(res);
|
|
14849
|
+
res.json = function(body) {
|
|
14850
|
+
res.__finalResponseBody = body;
|
|
14851
|
+
return originalJson(body);
|
|
14852
|
+
};
|
|
14853
|
+
res.send = function(body) {
|
|
14854
|
+
res.__finalResponseBody = body;
|
|
14855
|
+
return originalSend(body);
|
|
14856
|
+
};
|
|
14847
14857
|
const requestMeta = {
|
|
14848
14858
|
...baseMeta
|
|
14849
14859
|
};
|
|
@@ -14855,47 +14865,34 @@ var LoggingInterceptor = class {
|
|
|
14855
14865
|
}
|
|
14856
14866
|
this.appLogger.log("HTTP request started \n url=%s \n request_query=%o \n request_body=%o", req.url, requestMeta["query_params"] ?? {}, requestMeta["request_body"] ?? {});
|
|
14857
14867
|
this.traceLogger.logStructured("verbose", "HTTP request started", requestMeta, "HTTPTraceInterceptor");
|
|
14858
|
-
|
|
14868
|
+
let logged = false;
|
|
14869
|
+
res.on("finish", () => {
|
|
14870
|
+
if (logged) {
|
|
14871
|
+
return;
|
|
14872
|
+
}
|
|
14873
|
+
logged = true;
|
|
14859
14874
|
const durationMs = Date.now() - startedAt;
|
|
14860
14875
|
const statusCode = res.statusCode;
|
|
14861
|
-
const appLog = this.appLogger[res.statusCode >= 400 ? "error" : "log"].bind(this.appLogger);
|
|
14862
14876
|
const responseMeta = {
|
|
14863
14877
|
...baseMeta,
|
|
14864
14878
|
status_code: statusCode,
|
|
14865
14879
|
duration_ms: durationMs
|
|
14866
14880
|
};
|
|
14867
|
-
|
|
14868
|
-
|
|
14869
|
-
|
|
14870
|
-
const traceLevel = res.statusCode >= 400 ? "error" : "verbose";
|
|
14871
|
-
appLog("HTTP request completed\n url=%s \n status_code=%d \n duration_ms=%d \n response_body=%o", req.url, statusCode, durationMs, responseMeta.response_body ?? {});
|
|
14872
|
-
this.traceLogger.logStructured(traceLevel, "HTTP request completed", responseMeta, "HTTPTraceInterceptor");
|
|
14873
|
-
}), (0, import_operators.catchError)((error) => {
|
|
14874
|
-
const durationMs = Date.now() - startedAt;
|
|
14875
|
-
const statusCode = res.statusCode >= 400 ? res.statusCode : 500;
|
|
14876
|
-
const linkMeta = {
|
|
14877
|
-
...baseMeta,
|
|
14878
|
-
status_code: statusCode,
|
|
14879
|
-
duration_ms: durationMs
|
|
14880
|
-
};
|
|
14881
|
-
if (error instanceof Error) {
|
|
14882
|
-
linkMeta["error_message"] = error.message;
|
|
14881
|
+
const finalResponseBody = res.__finalResponseBody;
|
|
14882
|
+
if (this.config.logResponseBody && finalResponseBody !== void 0) {
|
|
14883
|
+
responseMeta["response_body"] = this.sanitizeAndTruncate(finalResponseBody);
|
|
14883
14884
|
}
|
|
14884
|
-
const
|
|
14885
|
-
|
|
14886
|
-
|
|
14887
|
-
|
|
14888
|
-
|
|
14889
|
-
if (error instanceof Error) {
|
|
14890
|
-
meta["error"] = {
|
|
14891
|
-
message: error.message,
|
|
14892
|
-
stack: error.stack
|
|
14893
|
-
};
|
|
14885
|
+
const isError = statusCode >= 400;
|
|
14886
|
+
const appLog = this.appLogger[isError ? "error" : "log"].bind(this.appLogger);
|
|
14887
|
+
const traceLevel = isError ? "error" : "verbose";
|
|
14888
|
+
if (isError) {
|
|
14889
|
+
appLog("HTTP request failed\n url=%s \n status_code=%d \n duration_ms=%d \n response_body=%o", req.url, statusCode, durationMs, finalResponseBody ?? {});
|
|
14894
14890
|
} else {
|
|
14895
|
-
|
|
14891
|
+
appLog("HTTP request completed\n url=%s \n status_code=%d \n duration_ms=%d \n response_body=%o", req.url, statusCode, durationMs, finalResponseBody ?? {});
|
|
14896
14892
|
}
|
|
14897
|
-
this.
|
|
14898
|
-
|
|
14893
|
+
this.traceLogger.logStructured(traceLevel, isError ? "HTTP request failed" : "HTTP request completed", responseMeta, "HTTPTraceInterceptor");
|
|
14894
|
+
});
|
|
14895
|
+
return next.handle().pipe((0, import_operators.catchError)((error) => {
|
|
14899
14896
|
throw error;
|
|
14900
14897
|
}));
|
|
14901
14898
|
}
|