@lark-apaas/nestjs-logger 1.0.1 → 1.0.2-alpha.2
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/dist/index.cjs +49 -71
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -19
- package/dist/index.d.ts +4 -19
- package/dist/index.js +39 -62
- package/dist/index.js.map +1 -1
- package/package.json +4 -2
package/dist/index.cjs
CHANGED
|
@@ -14376,22 +14376,23 @@ __export(index_exports, {
|
|
|
14376
14376
|
LoggerContextMiddleware: () => LoggerContextMiddleware,
|
|
14377
14377
|
LoggerModule: () => LoggerModule,
|
|
14378
14378
|
PinoLoggerService: () => PinoLoggerService,
|
|
14379
|
+
RequestContextService: () => import_nestjs_common5.RequestContextService,
|
|
14379
14380
|
TRACE_LOGGER: () => TRACE_LOGGER
|
|
14380
14381
|
});
|
|
14381
14382
|
module.exports = __toCommonJS(index_exports);
|
|
14382
14383
|
|
|
14383
14384
|
// src/service/app-logger.service.ts
|
|
14384
|
-
var
|
|
14385
|
+
var import_common = require("@nestjs/common");
|
|
14385
14386
|
var import_util = require("util");
|
|
14387
|
+
var import_observable = require("@lark-apaas/observable");
|
|
14386
14388
|
|
|
14387
14389
|
// src/helper/constants.ts
|
|
14388
14390
|
var PINO_ROOT_LOGGER = Symbol("PINO_ROOT_LOGGER");
|
|
14389
14391
|
var TRACE_LOGGER = Symbol("TRACE_LOGGER");
|
|
14390
14392
|
var METRICS_LOGGER = Symbol("METRICS_LOGGER");
|
|
14391
14393
|
|
|
14392
|
-
// src/service/
|
|
14393
|
-
var
|
|
14394
|
-
var import_async_hooks = require("async_hooks");
|
|
14394
|
+
// src/service/app-logger.service.ts
|
|
14395
|
+
var import_nestjs_common = require("@lark-apaas/nestjs-common");
|
|
14395
14396
|
function _ts_decorate(decorators, target, key, desc) {
|
|
14396
14397
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
14397
14398
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -14399,43 +14400,6 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
14399
14400
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
14400
14401
|
}
|
|
14401
14402
|
__name(_ts_decorate, "_ts_decorate");
|
|
14402
|
-
var RequestContextService = class {
|
|
14403
|
-
static {
|
|
14404
|
-
__name(this, "RequestContextService");
|
|
14405
|
-
}
|
|
14406
|
-
storage = new import_async_hooks.AsyncLocalStorage();
|
|
14407
|
-
run(context, callback) {
|
|
14408
|
-
const store = {
|
|
14409
|
-
...context
|
|
14410
|
-
};
|
|
14411
|
-
return this.storage.run(store, callback);
|
|
14412
|
-
}
|
|
14413
|
-
setContext(partial) {
|
|
14414
|
-
const store = this.storage.getStore();
|
|
14415
|
-
if (!store) {
|
|
14416
|
-
return;
|
|
14417
|
-
}
|
|
14418
|
-
Object.assign(store, partial);
|
|
14419
|
-
}
|
|
14420
|
-
getContext() {
|
|
14421
|
-
return this.storage.getStore();
|
|
14422
|
-
}
|
|
14423
|
-
get(key) {
|
|
14424
|
-
return this.storage.getStore()?.[key];
|
|
14425
|
-
}
|
|
14426
|
-
};
|
|
14427
|
-
RequestContextService = _ts_decorate([
|
|
14428
|
-
(0, import_common.Injectable)()
|
|
14429
|
-
], RequestContextService);
|
|
14430
|
-
|
|
14431
|
-
// src/service/app-logger.service.ts
|
|
14432
|
-
function _ts_decorate2(decorators, target, key, desc) {
|
|
14433
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
14434
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
14435
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
14436
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
14437
|
-
}
|
|
14438
|
-
__name(_ts_decorate2, "_ts_decorate");
|
|
14439
14403
|
function _ts_metadata(k, v) {
|
|
14440
14404
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
14441
14405
|
}
|
|
@@ -14544,11 +14508,13 @@ var BasePinoLogger = class _BasePinoLogger {
|
|
|
14544
14508
|
logger;
|
|
14545
14509
|
contextStore;
|
|
14546
14510
|
levelState = new LogLevelState();
|
|
14511
|
+
otelLogger = import_observable.appSdk;
|
|
14547
14512
|
constructor(logger, contextStore) {
|
|
14548
14513
|
this.logger = logger;
|
|
14549
14514
|
this.contextStore = contextStore;
|
|
14550
14515
|
const pinoLevel = this.logger.level;
|
|
14551
14516
|
const nestLevels = LogLevelState.fromPinoLevel(pinoLevel);
|
|
14517
|
+
this.otelLogger.start();
|
|
14552
14518
|
this.levelState.set(nestLevels);
|
|
14553
14519
|
}
|
|
14554
14520
|
setLogLevels(levels) {
|
|
@@ -14638,6 +14604,7 @@ var BasePinoLogger = class _BasePinoLogger {
|
|
|
14638
14604
|
} else {
|
|
14639
14605
|
this.logger[pinoLevel](sanitizedPayload);
|
|
14640
14606
|
}
|
|
14607
|
+
this.otelLogger.log(level, messageText ?? "", sanitizedPayload);
|
|
14641
14608
|
}
|
|
14642
14609
|
extractOptionalParams(optionalParams, treatStack) {
|
|
14643
14610
|
const params = [
|
|
@@ -14708,16 +14675,16 @@ var AppLogger = class extends BasePinoLogger {
|
|
|
14708
14675
|
}
|
|
14709
14676
|
constructor(logger, requestContext) {
|
|
14710
14677
|
super(logger, requestContext);
|
|
14711
|
-
|
|
14678
|
+
import_common.Logger.overrideLogger(this);
|
|
14712
14679
|
}
|
|
14713
14680
|
};
|
|
14714
|
-
AppLogger =
|
|
14715
|
-
(0,
|
|
14716
|
-
_ts_param(0, (0,
|
|
14681
|
+
AppLogger = _ts_decorate([
|
|
14682
|
+
(0, import_common.Injectable)(),
|
|
14683
|
+
_ts_param(0, (0, import_common.Inject)(PINO_ROOT_LOGGER)),
|
|
14717
14684
|
_ts_metadata("design:type", Function),
|
|
14718
14685
|
_ts_metadata("design:paramtypes", [
|
|
14719
14686
|
typeof PinoLogger === "undefined" ? Object : PinoLogger,
|
|
14720
|
-
typeof RequestContextService === "undefined" ? Object : RequestContextService
|
|
14687
|
+
typeof import_nestjs_common.RequestContextService === "undefined" ? Object : import_nestjs_common.RequestContextService
|
|
14721
14688
|
])
|
|
14722
14689
|
], AppLogger);
|
|
14723
14690
|
var PinoLoggerService = class extends BasePinoLogger {
|
|
@@ -14777,9 +14744,10 @@ function sanitizeValue(value) {
|
|
|
14777
14744
|
__name(sanitizeValue, "sanitizeValue");
|
|
14778
14745
|
|
|
14779
14746
|
// src/module.ts
|
|
14780
|
-
var
|
|
14747
|
+
var import_common4 = require("@nestjs/common");
|
|
14781
14748
|
var import_core = require("@nestjs/core");
|
|
14782
14749
|
var import_config3 = __toESM(require_config2(), 1);
|
|
14750
|
+
var import_nestjs_common4 = require("@lark-apaas/nestjs-common");
|
|
14783
14751
|
|
|
14784
14752
|
// src/config/logger.config.ts
|
|
14785
14753
|
var import_config = __toESM(require_config2(), 1);
|
|
@@ -14813,16 +14781,18 @@ var logger_config_default = (0, import_config.registerAs)("logger", () => {
|
|
|
14813
14781
|
});
|
|
14814
14782
|
|
|
14815
14783
|
// src/interceptor/logging.interceptor.ts
|
|
14816
|
-
var
|
|
14784
|
+
var import_common2 = require("@nestjs/common");
|
|
14817
14785
|
var import_config2 = __toESM(require_config2(), 1);
|
|
14818
14786
|
var import_operators = __toESM(require_operators(), 1);
|
|
14819
|
-
|
|
14787
|
+
var import_util2 = require("util");
|
|
14788
|
+
var import_nestjs_common2 = require("@lark-apaas/nestjs-common");
|
|
14789
|
+
function _ts_decorate2(decorators, target, key, desc) {
|
|
14820
14790
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
14821
14791
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
14822
14792
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
14823
14793
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
14824
14794
|
}
|
|
14825
|
-
__name(
|
|
14795
|
+
__name(_ts_decorate2, "_ts_decorate");
|
|
14826
14796
|
function _ts_metadata2(k, v) {
|
|
14827
14797
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
14828
14798
|
}
|
|
@@ -14946,6 +14916,7 @@ duration_ms=${durationMs}`, "HTTPTraceInterceptor");
|
|
|
14946
14916
|
this.traceLogger.logStructured(traceLevel, isError ? "HTTP request failed" : "HTTP request completed", responseMeta, "HTTPTraceInterceptor");
|
|
14947
14917
|
});
|
|
14948
14918
|
return next.handle().pipe((0, import_operators.catchError)((error) => {
|
|
14919
|
+
this.appLogger.error((0, import_util2.format)("HTTP request exception\nmethod=%s url=%s\nerror=%o", req.method, req.url, error), "HTTPTraceInterceptor");
|
|
14949
14920
|
throw error;
|
|
14950
14921
|
}));
|
|
14951
14922
|
}
|
|
@@ -14970,20 +14941,21 @@ duration_ms=${durationMs}`, "HTTPTraceInterceptor");
|
|
|
14970
14941
|
return {
|
|
14971
14942
|
_error: "Failed to serialize data",
|
|
14972
14943
|
_type: typeof data,
|
|
14944
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
14973
14945
|
_constructor: data?.constructor?.name
|
|
14974
14946
|
};
|
|
14975
14947
|
}
|
|
14976
14948
|
}
|
|
14977
14949
|
};
|
|
14978
|
-
LoggingInterceptor =
|
|
14979
|
-
(0,
|
|
14980
|
-
_ts_param2(0, (0,
|
|
14981
|
-
_ts_param2(2, (0,
|
|
14982
|
-
_ts_param2(3, (0,
|
|
14950
|
+
LoggingInterceptor = _ts_decorate2([
|
|
14951
|
+
(0, import_common2.Injectable)(),
|
|
14952
|
+
_ts_param2(0, (0, import_common2.Inject)(TRACE_LOGGER)),
|
|
14953
|
+
_ts_param2(2, (0, import_common2.Inject)(AppLogger)),
|
|
14954
|
+
_ts_param2(3, (0, import_common2.Inject)(logger_config_default.KEY)),
|
|
14983
14955
|
_ts_metadata2("design:type", Function),
|
|
14984
14956
|
_ts_metadata2("design:paramtypes", [
|
|
14985
14957
|
typeof PinoLoggerService === "undefined" ? Object : PinoLoggerService,
|
|
14986
|
-
typeof RequestContextService === "undefined" ? Object : RequestContextService,
|
|
14958
|
+
typeof import_nestjs_common2.RequestContextService === "undefined" ? Object : import_nestjs_common2.RequestContextService,
|
|
14987
14959
|
typeof AppLogger === "undefined" ? Object : AppLogger,
|
|
14988
14960
|
typeof import_config2.ConfigType === "undefined" ? Object : import_config2.ConfigType
|
|
14989
14961
|
])
|
|
@@ -15040,15 +15012,16 @@ function createFileDestination(pathname) {
|
|
|
15040
15012
|
__name(createFileDestination, "createFileDestination");
|
|
15041
15013
|
|
|
15042
15014
|
// src/middleware/logger-context.middleware.ts
|
|
15043
|
-
var
|
|
15015
|
+
var import_common3 = require("@nestjs/common");
|
|
15044
15016
|
var import_crypto = require("crypto");
|
|
15045
|
-
|
|
15017
|
+
var import_nestjs_common3 = require("@lark-apaas/nestjs-common");
|
|
15018
|
+
function _ts_decorate3(decorators, target, key, desc) {
|
|
15046
15019
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
15047
15020
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
15048
15021
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
15049
15022
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
15050
15023
|
}
|
|
15051
|
-
__name(
|
|
15024
|
+
__name(_ts_decorate3, "_ts_decorate");
|
|
15052
15025
|
function _ts_metadata3(k, v) {
|
|
15053
15026
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
15054
15027
|
}
|
|
@@ -15061,13 +15034,14 @@ var LoggerContextMiddleware = class {
|
|
|
15061
15034
|
constructor(requestContext) {
|
|
15062
15035
|
this.requestContext = requestContext;
|
|
15063
15036
|
}
|
|
15064
|
-
use(req,
|
|
15037
|
+
use(req, res, next) {
|
|
15065
15038
|
const requestId = req.headers["x-tt-log-id"] ?? (0, import_crypto.randomUUID)();
|
|
15066
15039
|
const path = req.originalUrl ?? req.url;
|
|
15067
15040
|
const userContext = req.userContext ?? {};
|
|
15068
15041
|
const mutableReq = req;
|
|
15069
15042
|
mutableReq.requestId = requestId;
|
|
15070
15043
|
mutableReq.id = requestId;
|
|
15044
|
+
res.setHeader("x-log-trace-id", requestId);
|
|
15071
15045
|
this.requestContext.run({
|
|
15072
15046
|
requestId,
|
|
15073
15047
|
path,
|
|
@@ -15078,35 +15052,35 @@ var LoggerContextMiddleware = class {
|
|
|
15078
15052
|
}, () => next());
|
|
15079
15053
|
}
|
|
15080
15054
|
};
|
|
15081
|
-
LoggerContextMiddleware =
|
|
15082
|
-
(0,
|
|
15055
|
+
LoggerContextMiddleware = _ts_decorate3([
|
|
15056
|
+
(0, import_common3.Injectable)(),
|
|
15083
15057
|
_ts_metadata3("design:type", Function),
|
|
15084
15058
|
_ts_metadata3("design:paramtypes", [
|
|
15085
|
-
typeof RequestContextService === "undefined" ? Object : RequestContextService
|
|
15059
|
+
typeof import_nestjs_common3.RequestContextService === "undefined" ? Object : import_nestjs_common3.RequestContextService
|
|
15086
15060
|
])
|
|
15087
15061
|
], LoggerContextMiddleware);
|
|
15088
15062
|
|
|
15089
15063
|
// src/module.ts
|
|
15090
|
-
function
|
|
15064
|
+
function _ts_decorate4(decorators, target, key, desc) {
|
|
15091
15065
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
15092
15066
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
15093
15067
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
15094
15068
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
15095
15069
|
}
|
|
15096
|
-
__name(
|
|
15070
|
+
__name(_ts_decorate4, "_ts_decorate");
|
|
15097
15071
|
var LoggerModule = class {
|
|
15098
15072
|
static {
|
|
15099
15073
|
__name(this, "LoggerModule");
|
|
15100
15074
|
}
|
|
15101
15075
|
};
|
|
15102
|
-
LoggerModule =
|
|
15103
|
-
(0,
|
|
15104
|
-
(0,
|
|
15076
|
+
LoggerModule = _ts_decorate4([
|
|
15077
|
+
(0, import_common4.Global)(),
|
|
15078
|
+
(0, import_common4.Module)({
|
|
15105
15079
|
imports: [
|
|
15106
15080
|
import_config3.ConfigModule.forFeature(logger_config_default)
|
|
15107
15081
|
],
|
|
15108
15082
|
providers: [
|
|
15109
|
-
RequestContextService,
|
|
15083
|
+
import_nestjs_common4.RequestContextService,
|
|
15110
15084
|
LoggerContextMiddleware,
|
|
15111
15085
|
{
|
|
15112
15086
|
provide: PINO_ROOT_LOGGER,
|
|
@@ -15127,7 +15101,7 @@ LoggerModule = _ts_decorate5([
|
|
|
15127
15101
|
filePath: `${config.logDir}/trace.log`
|
|
15128
15102
|
}), requestContext), "useFactory"),
|
|
15129
15103
|
inject: [
|
|
15130
|
-
RequestContextService,
|
|
15104
|
+
import_nestjs_common4.RequestContextService,
|
|
15131
15105
|
logger_config_default.KEY
|
|
15132
15106
|
]
|
|
15133
15107
|
},
|
|
@@ -15141,17 +15115,21 @@ LoggerModule = _ts_decorate5([
|
|
|
15141
15115
|
exports: [
|
|
15142
15116
|
AppLogger,
|
|
15143
15117
|
TRACE_LOGGER,
|
|
15144
|
-
RequestContextService,
|
|
15118
|
+
import_nestjs_common4.RequestContextService,
|
|
15145
15119
|
LoggerContextMiddleware
|
|
15146
15120
|
]
|
|
15147
15121
|
})
|
|
15148
15122
|
], LoggerModule);
|
|
15123
|
+
|
|
15124
|
+
// src/index.ts
|
|
15125
|
+
var import_nestjs_common5 = require("@lark-apaas/nestjs-common");
|
|
15149
15126
|
// Annotate the CommonJS export names for ESM import in node:
|
|
15150
15127
|
0 && (module.exports = {
|
|
15151
15128
|
AppLogger,
|
|
15152
15129
|
LoggerContextMiddleware,
|
|
15153
15130
|
LoggerModule,
|
|
15154
15131
|
PinoLoggerService,
|
|
15132
|
+
RequestContextService,
|
|
15155
15133
|
TRACE_LOGGER
|
|
15156
15134
|
});
|
|
15157
15135
|
//# sourceMappingURL=index.cjs.map
|