@lark-apaas/nestjs-logger 1.0.2-alpha.17 → 1.0.2-alpha.19
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 +341 -135
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +333 -127
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -1361,10 +1361,10 @@ var SpanStatusCode;
|
|
|
1361
1361
|
var init_status = __esm({
|
|
1362
1362
|
"../../../node_modules/@opentelemetry/api/build/esm/trace/status.js"() {
|
|
1363
1363
|
"use strict";
|
|
1364
|
-
(function(
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1364
|
+
(function(SpanStatusCode3) {
|
|
1365
|
+
SpanStatusCode3[SpanStatusCode3["UNSET"] = 0] = "UNSET";
|
|
1366
|
+
SpanStatusCode3[SpanStatusCode3["OK"] = 1] = "OK";
|
|
1367
|
+
SpanStatusCode3[SpanStatusCode3["ERROR"] = 2] = "ERROR";
|
|
1368
1368
|
})(SpanStatusCode || (SpanStatusCode = {}));
|
|
1369
1369
|
}
|
|
1370
1370
|
});
|
|
@@ -65612,16 +65612,20 @@ var METRICS_LOGGER = Symbol("METRICS_LOGGER");
|
|
|
65612
65612
|
var import_nestjs_common3 = require("@lark-apaas/nestjs-common");
|
|
65613
65613
|
|
|
65614
65614
|
// ../nestjs-observable/dist/index.js
|
|
65615
|
-
var
|
|
65615
|
+
var import_common3 = require("@nestjs/common");
|
|
65616
65616
|
|
|
65617
65617
|
// ../observable-server/dist/index.js
|
|
65618
65618
|
var import_sdk_node = __toESM(require_src12(), 1);
|
|
65619
65619
|
init_esm6();
|
|
65620
|
+
var import_sdk_trace_node = __toESM(require_src2(), 1);
|
|
65620
65621
|
init_esm5();
|
|
65622
|
+
init_esm();
|
|
65621
65623
|
init_esm4();
|
|
65622
65624
|
init_esm3();
|
|
65623
|
-
var import_common3 = require("@nestjs/common");
|
|
65624
65625
|
var import_crypto2 = require("crypto");
|
|
65626
|
+
init_esm4();
|
|
65627
|
+
init_esm3();
|
|
65628
|
+
init_esm();
|
|
65625
65629
|
var __defProp2 = Object.defineProperty;
|
|
65626
65630
|
var __name2 = /* @__PURE__ */ __name((target, value) => __defProp2(target, "name", {
|
|
65627
65631
|
value,
|
|
@@ -65683,6 +65687,11 @@ var AppEnv = /* @__PURE__ */ (function(AppEnv2) {
|
|
|
65683
65687
|
AppEnv2["Prod"] = "runtime";
|
|
65684
65688
|
return AppEnv2;
|
|
65685
65689
|
})({});
|
|
65690
|
+
var defaultResourceAttr = {
|
|
65691
|
+
"sdk_version": "1.0.1-alpha.18",
|
|
65692
|
+
"sdk_type": "client-backend",
|
|
65693
|
+
"sdk_language": "node"
|
|
65694
|
+
};
|
|
65686
65695
|
var safeStringify = /* @__PURE__ */ __name2((obj) => {
|
|
65687
65696
|
try {
|
|
65688
65697
|
return JSON.stringify(obj);
|
|
@@ -65699,19 +65708,6 @@ function convertAttributesToString(attributes) {
|
|
|
65699
65708
|
}
|
|
65700
65709
|
__name(convertAttributesToString, "convertAttributesToString");
|
|
65701
65710
|
__name2(convertAttributesToString, "convertAttributesToString");
|
|
65702
|
-
function _ts_decorate(decorators, target, key, desc) {
|
|
65703
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
65704
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
65705
|
-
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;
|
|
65706
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
65707
|
-
}
|
|
65708
|
-
__name(_ts_decorate, "_ts_decorate");
|
|
65709
|
-
__name2(_ts_decorate, "_ts_decorate");
|
|
65710
|
-
function _ts_metadata(k, v) {
|
|
65711
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
65712
|
-
}
|
|
65713
|
-
__name(_ts_metadata, "_ts_metadata");
|
|
65714
|
-
__name2(_ts_metadata, "_ts_metadata");
|
|
65715
65711
|
var CustomExporter = class {
|
|
65716
65712
|
static {
|
|
65717
65713
|
__name(this, "CustomExporter");
|
|
@@ -65729,30 +65725,145 @@ var CustomExporter = class {
|
|
|
65729
65725
|
uuid: idGenerator.generateTraceId(),
|
|
65730
65726
|
app_env: isDev ? AppEnv.Dev : AppEnv.Prod
|
|
65731
65727
|
};
|
|
65732
|
-
const
|
|
65733
|
-
|
|
65734
|
-
|
|
65735
|
-
attributes
|
|
65736
|
-
}
|
|
65737
|
-
|
|
65738
|
-
|
|
65739
|
-
|
|
65740
|
-
|
|
65741
|
-
|
|
65742
|
-
|
|
65743
|
-
|
|
65744
|
-
|
|
65745
|
-
|
|
65746
|
-
|
|
65747
|
-
|
|
65748
|
-
|
|
65749
|
-
|
|
65750
|
-
|
|
65751
|
-
|
|
65752
|
-
|
|
65753
|
-
|
|
65728
|
+
const otlpLikeStructures = logs2.map((log) => {
|
|
65729
|
+
const rawAttributes = {
|
|
65730
|
+
...defaultAttributes,
|
|
65731
|
+
...log.attributes ?? {}
|
|
65732
|
+
};
|
|
65733
|
+
const attributes = convertAttributesToString(rawAttributes);
|
|
65734
|
+
return {
|
|
65735
|
+
resource: {
|
|
65736
|
+
attributes: {
|
|
65737
|
+
...defaultResourceAttr
|
|
65738
|
+
}
|
|
65739
|
+
},
|
|
65740
|
+
logRecords: [
|
|
65741
|
+
{
|
|
65742
|
+
timeUnixNano: hrTimeToNanosNumber(log.hrTime),
|
|
65743
|
+
observedTimeUnixNano: hrTimeToNanosNumber(log.hrTimeObserved),
|
|
65744
|
+
severityNumber: log.severityNumber,
|
|
65745
|
+
severityText: log.severityText,
|
|
65746
|
+
body: log.body,
|
|
65747
|
+
attributes,
|
|
65748
|
+
traceId: log.spanContext?.traceId,
|
|
65749
|
+
spanId: log.spanContext?.spanId
|
|
65750
|
+
}
|
|
65751
|
+
]
|
|
65752
|
+
};
|
|
65753
|
+
});
|
|
65754
|
+
otlpLikeStructures.forEach((structure) => {
|
|
65755
|
+
console.log(this.logPrefix + JSON.stringify(structure) + this.logSuffix);
|
|
65756
|
+
});
|
|
65757
|
+
resultCallback({
|
|
65758
|
+
code: ExportResultCode.SUCCESS
|
|
65759
|
+
});
|
|
65760
|
+
}
|
|
65761
|
+
async shutdown() {
|
|
65762
|
+
}
|
|
65763
|
+
};
|
|
65764
|
+
function mapSeverity(level) {
|
|
65765
|
+
switch (level.toLowerCase()) {
|
|
65766
|
+
case "trace":
|
|
65767
|
+
return SeverityNumber.TRACE;
|
|
65768
|
+
case "debug":
|
|
65769
|
+
return SeverityNumber.DEBUG;
|
|
65770
|
+
case "info":
|
|
65771
|
+
return SeverityNumber.INFO;
|
|
65772
|
+
case "warn":
|
|
65773
|
+
return SeverityNumber.WARN;
|
|
65774
|
+
case "error":
|
|
65775
|
+
return SeverityNumber.ERROR;
|
|
65776
|
+
case "fatal":
|
|
65777
|
+
return SeverityNumber.FATAL;
|
|
65778
|
+
default:
|
|
65779
|
+
return SeverityNumber.INFO;
|
|
65780
|
+
}
|
|
65781
|
+
}
|
|
65782
|
+
__name(mapSeverity, "mapSeverity");
|
|
65783
|
+
__name2(mapSeverity, "mapSeverity");
|
|
65784
|
+
function mapSeverityText(level) {
|
|
65785
|
+
switch (level.toLowerCase()) {
|
|
65786
|
+
case "trace":
|
|
65787
|
+
return "INFO";
|
|
65788
|
+
case "debug":
|
|
65789
|
+
return "DEBUG";
|
|
65790
|
+
case "info":
|
|
65791
|
+
return "INFO";
|
|
65792
|
+
case "warn":
|
|
65793
|
+
return "WARN";
|
|
65794
|
+
case "error":
|
|
65795
|
+
return "ERROR";
|
|
65796
|
+
case "fatal":
|
|
65797
|
+
return "ERROR";
|
|
65798
|
+
default:
|
|
65799
|
+
return "INFO";
|
|
65800
|
+
}
|
|
65801
|
+
}
|
|
65802
|
+
__name(mapSeverityText, "mapSeverityText");
|
|
65803
|
+
__name2(mapSeverityText, "mapSeverityText");
|
|
65804
|
+
var CustomTraceExporter = class {
|
|
65805
|
+
static {
|
|
65806
|
+
__name(this, "CustomTraceExporter");
|
|
65807
|
+
}
|
|
65808
|
+
static {
|
|
65809
|
+
__name2(this, "CustomTraceExporter");
|
|
65810
|
+
}
|
|
65811
|
+
tracePrefix = "force-trace-prefix";
|
|
65812
|
+
traceSuffix = "force-trace-suffix";
|
|
65813
|
+
requestContextService;
|
|
65814
|
+
constructor(contextProvider) {
|
|
65815
|
+
this.requestContextService = contextProvider;
|
|
65816
|
+
}
|
|
65817
|
+
export(spans, resultCallback) {
|
|
65818
|
+
const isDev = process.env.NODE_ENV === "development";
|
|
65819
|
+
const defaultAttributes = {
|
|
65820
|
+
uuid: idGenerator.generateTraceId(),
|
|
65821
|
+
app_env: isDev ? AppEnv.Dev : AppEnv.Prod
|
|
65822
|
+
};
|
|
65823
|
+
const ctx = this.requestContextService.getContext();
|
|
65824
|
+
const contextAttributes = ctx ? {
|
|
65825
|
+
user_id: ctx.userId,
|
|
65826
|
+
tenant_id: ctx.tenantId,
|
|
65827
|
+
app_id: ctx.appId,
|
|
65828
|
+
method: ctx.method,
|
|
65829
|
+
path: ctx.path
|
|
65830
|
+
} : {
|
|
65831
|
+
user_id: void 0,
|
|
65832
|
+
tenant_id: void 0,
|
|
65833
|
+
app_id: void 0
|
|
65754
65834
|
};
|
|
65755
|
-
|
|
65835
|
+
const otlpLikeStructures = spans.map((span) => {
|
|
65836
|
+
const rawAttributes = {
|
|
65837
|
+
...defaultAttributes,
|
|
65838
|
+
...contextAttributes,
|
|
65839
|
+
...span.attributes ?? {}
|
|
65840
|
+
};
|
|
65841
|
+
const attributes = convertAttributesToString(rawAttributes);
|
|
65842
|
+
return {
|
|
65843
|
+
resource: {
|
|
65844
|
+
// 合并 OTel Resource(此处暂留空,真实场景可由 sdk.resource 提供)
|
|
65845
|
+
attributes: {
|
|
65846
|
+
...defaultResourceAttr
|
|
65847
|
+
}
|
|
65848
|
+
},
|
|
65849
|
+
spans: [
|
|
65850
|
+
{
|
|
65851
|
+
startTimeUnixNano: hrTimeToNanosNumber(span.startTime),
|
|
65852
|
+
endTimeUnixNano: hrTimeToNanosNumber(span.endTime),
|
|
65853
|
+
name: span.name,
|
|
65854
|
+
attributes,
|
|
65855
|
+
traceId: span.spanContext().traceId,
|
|
65856
|
+
spanId: span.spanContext().spanId,
|
|
65857
|
+
parentSpanID: span.parentSpanContext?.spanId,
|
|
65858
|
+
status: span.status,
|
|
65859
|
+
spanKind: SpanKind.SERVER
|
|
65860
|
+
}
|
|
65861
|
+
]
|
|
65862
|
+
};
|
|
65863
|
+
});
|
|
65864
|
+
otlpLikeStructures.forEach((structure) => {
|
|
65865
|
+
console.log(this.tracePrefix + JSON.stringify(structure) + this.traceSuffix);
|
|
65866
|
+
});
|
|
65756
65867
|
resultCallback({
|
|
65757
65868
|
code: ExportResultCode.SUCCESS
|
|
65758
65869
|
});
|
|
@@ -65760,20 +65871,20 @@ var CustomExporter = class {
|
|
|
65760
65871
|
async shutdown() {
|
|
65761
65872
|
}
|
|
65762
65873
|
};
|
|
65763
|
-
|
|
65764
|
-
(0, import_common3.Injectable)(),
|
|
65765
|
-
_ts_metadata("design:type", Function),
|
|
65766
|
-
_ts_metadata("design:paramtypes", [])
|
|
65767
|
-
], CustomExporter);
|
|
65768
|
-
var AppOTelLoggerSDK = class {
|
|
65874
|
+
var AppOTelSDK = class _AppOTelSDK {
|
|
65769
65875
|
static {
|
|
65770
|
-
__name(this, "
|
|
65876
|
+
__name(this, "_AppOTelSDK");
|
|
65771
65877
|
}
|
|
65772
65878
|
static {
|
|
65773
|
-
__name2(this, "
|
|
65879
|
+
__name2(this, "AppOTelSDK");
|
|
65774
65880
|
}
|
|
65775
65881
|
sdk = null;
|
|
65776
65882
|
logProcessor = null;
|
|
65883
|
+
spanProcessor = null;
|
|
65884
|
+
static CUSTOM_FORMAT_REGEX = /^[0-9a-fA-F]{32}-[0-9a-fA-F]{16}$/;
|
|
65885
|
+
contextProvider = {
|
|
65886
|
+
getContext: /* @__PURE__ */ __name2(() => ({}), "getContext")
|
|
65887
|
+
};
|
|
65777
65888
|
start() {
|
|
65778
65889
|
const resource = detectResources({
|
|
65779
65890
|
detectors: [
|
|
@@ -65785,22 +65896,68 @@ var AppOTelLoggerSDK = class {
|
|
|
65785
65896
|
scheduledDelayMillis: 2e3,
|
|
65786
65897
|
maxExportBatchSize: 10
|
|
65787
65898
|
});
|
|
65899
|
+
const traceExporter = new CustomTraceExporter(this.contextProvider);
|
|
65900
|
+
this.spanProcessor = new import_sdk_trace_node.BatchSpanProcessor(traceExporter, {
|
|
65901
|
+
scheduledDelayMillis: 1e3,
|
|
65902
|
+
maxExportBatchSize: 1
|
|
65903
|
+
});
|
|
65788
65904
|
this.sdk = new import_sdk_node.NodeSDK({
|
|
65789
65905
|
resource,
|
|
65790
65906
|
logRecordProcessor: this.logProcessor,
|
|
65791
|
-
|
|
65907
|
+
spanProcessor: this.spanProcessor
|
|
65792
65908
|
});
|
|
65793
65909
|
this.sdk.start();
|
|
65794
65910
|
}
|
|
65795
65911
|
/**
|
|
65796
|
-
*
|
|
65797
|
-
*
|
|
65912
|
+
* [框架专用 API] 开启一个根 Span (Root Span)
|
|
65913
|
+
* 该方法专供 Middleware/Interceptor 使用,不建议用户直接调用
|
|
65914
|
+
*/
|
|
65915
|
+
startContext(headers, name, fn) {
|
|
65916
|
+
const carrier = {};
|
|
65917
|
+
const customTraceId = headers["x-apaas-observability"];
|
|
65918
|
+
if (customTraceId && _AppOTelSDK.CUSTOM_FORMAT_REGEX.test(customTraceId)) {
|
|
65919
|
+
carrier["traceparent"] = `00-${customTraceId}-01`;
|
|
65920
|
+
} else {
|
|
65921
|
+
carrier["traceparent"] = `00-${idGenerator.generateTraceId()}-${idGenerator.generateSpanId()}-01`;
|
|
65922
|
+
}
|
|
65923
|
+
const activeContext = propagation.extract(context.active(), carrier);
|
|
65924
|
+
const tracer = trace.getTracer("app-core");
|
|
65925
|
+
tracer.startActiveSpan(name, {}, activeContext, (span) => {
|
|
65926
|
+
fn(span);
|
|
65927
|
+
});
|
|
65928
|
+
}
|
|
65929
|
+
/**
|
|
65930
|
+
* [用户专用 API] 手动打点 (Child Span)
|
|
65931
|
+
* 用户在 Service 中调用此方法,会自动挂载到 Middleware 创建的 Root Span 下
|
|
65932
|
+
*/
|
|
65933
|
+
async trace(name, fn) {
|
|
65934
|
+
const tracer = trace.getTracer("user-trace");
|
|
65935
|
+
return tracer.startActiveSpan(name, async (span) => {
|
|
65936
|
+
try {
|
|
65937
|
+
const res = await fn(span);
|
|
65938
|
+
span.setStatus({
|
|
65939
|
+
code: SpanStatusCode.OK
|
|
65940
|
+
});
|
|
65941
|
+
return res;
|
|
65942
|
+
} catch (e) {
|
|
65943
|
+
span.recordException(e);
|
|
65944
|
+
span.setStatus({
|
|
65945
|
+
code: SpanStatusCode.ERROR
|
|
65946
|
+
});
|
|
65947
|
+
throw e;
|
|
65948
|
+
} finally {
|
|
65949
|
+
span.end();
|
|
65950
|
+
}
|
|
65951
|
+
});
|
|
65952
|
+
}
|
|
65953
|
+
/**
|
|
65954
|
+
* [Log API] 自动关联 TraceContext
|
|
65798
65955
|
*/
|
|
65799
65956
|
log(level, message, extra = {}) {
|
|
65800
65957
|
const logger2 = logs.getLogger("app-logger");
|
|
65801
|
-
const severityNumber =
|
|
65802
|
-
const severityText =
|
|
65803
|
-
const
|
|
65958
|
+
const severityNumber = mapSeverity(level);
|
|
65959
|
+
const severityText = mapSeverityText(level);
|
|
65960
|
+
const attributes = {
|
|
65804
65961
|
...extra || {},
|
|
65805
65962
|
pid: process.pid
|
|
65806
65963
|
};
|
|
@@ -65808,76 +65965,65 @@ var AppOTelLoggerSDK = class {
|
|
|
65808
65965
|
body: message,
|
|
65809
65966
|
severityNumber,
|
|
65810
65967
|
severityText,
|
|
65811
|
-
attributes
|
|
65812
|
-
timestamp: /* @__PURE__ */ new Date()
|
|
65968
|
+
attributes,
|
|
65969
|
+
timestamp: /* @__PURE__ */ new Date(),
|
|
65970
|
+
// 自动关联当前上下文
|
|
65971
|
+
context: context.active()
|
|
65813
65972
|
});
|
|
65814
65973
|
}
|
|
65974
|
+
/**
|
|
65975
|
+
* [框架专用] 强制刷新
|
|
65976
|
+
*/
|
|
65815
65977
|
async flush() {
|
|
65816
|
-
|
|
65817
|
-
|
|
65818
|
-
|
|
65819
|
-
|
|
65820
|
-
mapSeverity(level) {
|
|
65821
|
-
switch (level.toLowerCase()) {
|
|
65822
|
-
case "trace":
|
|
65823
|
-
return SeverityNumber.TRACE;
|
|
65824
|
-
case "debug":
|
|
65825
|
-
return SeverityNumber.DEBUG;
|
|
65826
|
-
case "info":
|
|
65827
|
-
return SeverityNumber.INFO;
|
|
65828
|
-
case "warn":
|
|
65829
|
-
return SeverityNumber.WARN;
|
|
65830
|
-
case "error":
|
|
65831
|
-
return SeverityNumber.ERROR;
|
|
65832
|
-
case "fatal":
|
|
65833
|
-
return SeverityNumber.FATAL;
|
|
65834
|
-
default:
|
|
65835
|
-
return SeverityNumber.INFO;
|
|
65836
|
-
}
|
|
65837
|
-
}
|
|
65838
|
-
mapSeverityText(level) {
|
|
65839
|
-
switch (level.toLowerCase()) {
|
|
65840
|
-
case "trace":
|
|
65841
|
-
return "INFO";
|
|
65842
|
-
case "debug":
|
|
65843
|
-
return "DEBUG";
|
|
65844
|
-
case "info":
|
|
65845
|
-
return "INFO";
|
|
65846
|
-
case "warn":
|
|
65847
|
-
return "WARN";
|
|
65848
|
-
case "error":
|
|
65849
|
-
return "ERROR";
|
|
65850
|
-
case "fatal":
|
|
65851
|
-
return "ERROR";
|
|
65852
|
-
default:
|
|
65853
|
-
return "INFO";
|
|
65854
|
-
}
|
|
65978
|
+
await Promise.all([
|
|
65979
|
+
this.logProcessor?.forceFlush(),
|
|
65980
|
+
this.spanProcessor?.forceFlush()
|
|
65981
|
+
]);
|
|
65855
65982
|
}
|
|
65856
65983
|
};
|
|
65857
|
-
var appSdk = new
|
|
65984
|
+
var appSdk = new AppOTelSDK();
|
|
65985
|
+
function Trace(name) {
|
|
65986
|
+
return function(target, propertyKey, descriptor) {
|
|
65987
|
+
const originalMethod = descriptor.value;
|
|
65988
|
+
if (!originalMethod) {
|
|
65989
|
+
return descriptor;
|
|
65990
|
+
}
|
|
65991
|
+
descriptor.value = async function(...args) {
|
|
65992
|
+
const spanName = name || `${target?.constructor?.name}.${String(propertyKey)}`;
|
|
65993
|
+
return await appSdk.trace(spanName, async (_) => {
|
|
65994
|
+
const result = await originalMethod.apply(this, args);
|
|
65995
|
+
return result;
|
|
65996
|
+
});
|
|
65997
|
+
};
|
|
65998
|
+
return descriptor;
|
|
65999
|
+
};
|
|
66000
|
+
}
|
|
66001
|
+
__name(Trace, "Trace");
|
|
66002
|
+
__name2(Trace, "Trace");
|
|
65858
66003
|
|
|
65859
66004
|
// ../nestjs-observable/dist/index.js
|
|
65860
66005
|
var import_nestjs_common = require("@lark-apaas/nestjs-common");
|
|
65861
|
-
var
|
|
66006
|
+
var import_common4 = require("@nestjs/common");
|
|
65862
66007
|
var import_nestjs_common2 = require("@lark-apaas/nestjs-common");
|
|
66008
|
+
var import_common5 = require("@nestjs/common");
|
|
65863
66009
|
var __defProp3 = Object.defineProperty;
|
|
65864
66010
|
var __name3 = /* @__PURE__ */ __name((target, value) => __defProp3(target, "name", {
|
|
65865
66011
|
value,
|
|
65866
66012
|
configurable: true
|
|
65867
66013
|
}), "__name");
|
|
65868
|
-
function
|
|
66014
|
+
function _ts_decorate(decorators, target, key, desc) {
|
|
65869
66015
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
65870
66016
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
65871
66017
|
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;
|
|
65872
66018
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
65873
66019
|
}
|
|
65874
|
-
__name(
|
|
65875
|
-
__name3(
|
|
65876
|
-
function
|
|
66020
|
+
__name(_ts_decorate, "_ts_decorate");
|
|
66021
|
+
__name3(_ts_decorate, "_ts_decorate");
|
|
66022
|
+
function _ts_metadata(k, v) {
|
|
65877
66023
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
65878
66024
|
}
|
|
65879
|
-
__name(
|
|
65880
|
-
__name3(
|
|
66025
|
+
__name(_ts_metadata, "_ts_metadata");
|
|
66026
|
+
__name3(_ts_metadata, "_ts_metadata");
|
|
65881
66027
|
var ObservableService = class {
|
|
65882
66028
|
static {
|
|
65883
66029
|
__name(this, "ObservableService");
|
|
@@ -65897,31 +66043,35 @@ var ObservableService = class {
|
|
|
65897
66043
|
...attributes
|
|
65898
66044
|
});
|
|
65899
66045
|
}
|
|
66046
|
+
/** 记录链路 */
|
|
66047
|
+
trace(name, fn) {
|
|
66048
|
+
return appSdk.trace(name, fn);
|
|
66049
|
+
}
|
|
65900
66050
|
/** 手动刷新(FaaS/请求结束时可调用) */
|
|
65901
66051
|
async flush() {
|
|
65902
66052
|
await appSdk.flush();
|
|
65903
66053
|
}
|
|
65904
66054
|
};
|
|
65905
|
-
ObservableService =
|
|
65906
|
-
(0,
|
|
65907
|
-
|
|
65908
|
-
|
|
66055
|
+
ObservableService = _ts_decorate([
|
|
66056
|
+
(0, import_common4.Injectable)(),
|
|
66057
|
+
_ts_metadata("design:type", Function),
|
|
66058
|
+
_ts_metadata("design:paramtypes", [
|
|
65909
66059
|
typeof import_nestjs_common2.RequestContextService === "undefined" ? Object : import_nestjs_common2.RequestContextService
|
|
65910
66060
|
])
|
|
65911
66061
|
], ObservableService);
|
|
65912
|
-
function
|
|
66062
|
+
function _ts_decorate2(decorators, target, key, desc) {
|
|
65913
66063
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
65914
66064
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
65915
66065
|
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;
|
|
65916
66066
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
65917
66067
|
}
|
|
65918
|
-
__name(
|
|
65919
|
-
__name3(
|
|
65920
|
-
function
|
|
66068
|
+
__name(_ts_decorate2, "_ts_decorate2");
|
|
66069
|
+
__name3(_ts_decorate2, "_ts_decorate");
|
|
66070
|
+
function _ts_metadata2(k, v) {
|
|
65921
66071
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
65922
66072
|
}
|
|
65923
|
-
__name(
|
|
65924
|
-
__name3(
|
|
66073
|
+
__name(_ts_metadata2, "_ts_metadata2");
|
|
66074
|
+
__name3(_ts_metadata2, "_ts_metadata");
|
|
65925
66075
|
var NestjsObservableModule = class _NestjsObservableModule {
|
|
65926
66076
|
static {
|
|
65927
66077
|
__name(this, "_NestjsObservableModule");
|
|
@@ -65941,9 +66091,9 @@ var NestjsObservableModule = class _NestjsObservableModule {
|
|
|
65941
66091
|
appSdk.start();
|
|
65942
66092
|
}
|
|
65943
66093
|
};
|
|
65944
|
-
NestjsObservableModule =
|
|
65945
|
-
(0,
|
|
65946
|
-
(0,
|
|
66094
|
+
NestjsObservableModule = _ts_decorate2([
|
|
66095
|
+
(0, import_common3.Global)(),
|
|
66096
|
+
(0, import_common3.Module)({
|
|
65947
66097
|
imports: [
|
|
65948
66098
|
import_nestjs_common.CommonModule
|
|
65949
66099
|
],
|
|
@@ -65954,18 +66104,71 @@ NestjsObservableModule = _ts_decorate22([
|
|
|
65954
66104
|
ObservableService
|
|
65955
66105
|
]
|
|
65956
66106
|
}),
|
|
65957
|
-
|
|
65958
|
-
|
|
66107
|
+
_ts_metadata2("design:type", Function),
|
|
66108
|
+
_ts_metadata2("design:paramtypes", [])
|
|
65959
66109
|
], NestjsObservableModule);
|
|
66110
|
+
var SpanStatusCode2;
|
|
66111
|
+
(function(SpanStatusCode22) {
|
|
66112
|
+
SpanStatusCode22[SpanStatusCode22["UNSET"] = 0] = "UNSET";
|
|
66113
|
+
SpanStatusCode22[SpanStatusCode22["OK"] = 1] = "OK";
|
|
66114
|
+
SpanStatusCode22[SpanStatusCode22["ERROR"] = 2] = "ERROR";
|
|
66115
|
+
})(SpanStatusCode2 || (SpanStatusCode2 = {}));
|
|
66116
|
+
function _ts_decorate3(decorators, target, key, desc) {
|
|
66117
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
66118
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
66119
|
+
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;
|
|
66120
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
66121
|
+
}
|
|
66122
|
+
__name(_ts_decorate3, "_ts_decorate3");
|
|
66123
|
+
__name3(_ts_decorate3, "_ts_decorate");
|
|
66124
|
+
var ObservableTraceMiddleware = class {
|
|
66125
|
+
static {
|
|
66126
|
+
__name(this, "ObservableTraceMiddleware");
|
|
66127
|
+
}
|
|
66128
|
+
static {
|
|
66129
|
+
__name3(this, "ObservableTraceMiddleware");
|
|
66130
|
+
}
|
|
66131
|
+
use(req, res, next) {
|
|
66132
|
+
const spanName = `${req.method} ${req.originalUrl || req.url}`;
|
|
66133
|
+
appSdk.startContext(req.headers, spanName, (span) => {
|
|
66134
|
+
res.on("finish", () => {
|
|
66135
|
+
const status = res.statusCode;
|
|
66136
|
+
span.setAttribute("http_status_code", status);
|
|
66137
|
+
if (status >= 500) {
|
|
66138
|
+
span.setStatus({
|
|
66139
|
+
code: SpanStatusCode2.ERROR,
|
|
66140
|
+
message: `Server Error ${status}`
|
|
66141
|
+
});
|
|
66142
|
+
} else if (status >= 400) {
|
|
66143
|
+
span.setStatus({
|
|
66144
|
+
code: SpanStatusCode2.UNSET
|
|
66145
|
+
});
|
|
66146
|
+
} else {
|
|
66147
|
+
span.setStatus({
|
|
66148
|
+
code: SpanStatusCode2.OK
|
|
66149
|
+
});
|
|
66150
|
+
}
|
|
66151
|
+
span.end();
|
|
66152
|
+
appSdk.flush().catch((err) => {
|
|
66153
|
+
console.error("[OtelMiddleware] Flush failed:", err);
|
|
66154
|
+
});
|
|
66155
|
+
});
|
|
66156
|
+
next();
|
|
66157
|
+
});
|
|
66158
|
+
}
|
|
66159
|
+
};
|
|
66160
|
+
ObservableTraceMiddleware = _ts_decorate3([
|
|
66161
|
+
(0, import_common5.Injectable)()
|
|
66162
|
+
], ObservableTraceMiddleware);
|
|
65960
66163
|
|
|
65961
66164
|
// src/service/app-logger.service.ts
|
|
65962
|
-
function
|
|
66165
|
+
function _ts_decorate4(decorators, target, key, desc) {
|
|
65963
66166
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
65964
66167
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
65965
66168
|
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;
|
|
65966
66169
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
65967
66170
|
}
|
|
65968
|
-
__name(
|
|
66171
|
+
__name(_ts_decorate4, "_ts_decorate");
|
|
65969
66172
|
function _ts_metadata3(k, v) {
|
|
65970
66173
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
65971
66174
|
}
|
|
@@ -66259,7 +66462,7 @@ var AppLogger = class extends BasePinoLogger {
|
|
|
66259
66462
|
import_common6.Logger.overrideLogger(this);
|
|
66260
66463
|
}
|
|
66261
66464
|
};
|
|
66262
|
-
AppLogger =
|
|
66465
|
+
AppLogger = _ts_decorate4([
|
|
66263
66466
|
(0, import_common6.Injectable)(),
|
|
66264
66467
|
_ts_param(0, (0, import_common6.Inject)(PINO_ROOT_LOGGER)),
|
|
66265
66468
|
_ts_param(1, (0, import_common6.Inject)(import_nestjs_common3.OBSERVABLE_SERVICE_TOKEN)),
|
|
@@ -66316,7 +66519,7 @@ __name(sanitizeValue, "sanitizeValue");
|
|
|
66316
66519
|
|
|
66317
66520
|
// src/module.ts
|
|
66318
66521
|
var import_common9 = require("@nestjs/common");
|
|
66319
|
-
var
|
|
66522
|
+
var import_core42 = require("@nestjs/core");
|
|
66320
66523
|
var import_config6 = __toESM(require_config2(), 1);
|
|
66321
66524
|
var import_nestjs_common6 = require("@lark-apaas/nestjs-common");
|
|
66322
66525
|
|
|
@@ -66357,13 +66560,13 @@ var import_config5 = __toESM(require_config2(), 1);
|
|
|
66357
66560
|
var import_operators = __toESM(require_operators(), 1);
|
|
66358
66561
|
var import_util6 = require("util");
|
|
66359
66562
|
var import_nestjs_common4 = require("@lark-apaas/nestjs-common");
|
|
66360
|
-
function
|
|
66563
|
+
function _ts_decorate5(decorators, target, key, desc) {
|
|
66361
66564
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
66362
66565
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
66363
66566
|
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;
|
|
66364
66567
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
66365
66568
|
}
|
|
66366
|
-
__name(
|
|
66569
|
+
__name(_ts_decorate5, "_ts_decorate");
|
|
66367
66570
|
function _ts_metadata4(k, v) {
|
|
66368
66571
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
66369
66572
|
}
|
|
@@ -66433,6 +66636,9 @@ var LoggingInterceptor = class {
|
|
|
66433
66636
|
}
|
|
66434
66637
|
this.appLogger.log(`HTTP request started
|
|
66435
66638
|
url=${req.url}`, "HTTPTraceInterceptor");
|
|
66639
|
+
this.appLogger.log(`header`, {
|
|
66640
|
+
...req.headers
|
|
66641
|
+
}, "HTTPHeaderInfo");
|
|
66436
66642
|
this.traceLogger.logStructured("verbose", "HTTP request started", requestMeta, "HTTPTraceInterceptor");
|
|
66437
66643
|
let logged = false;
|
|
66438
66644
|
res.on("finish", () => {
|
|
@@ -66518,7 +66724,7 @@ duration_ms=${durationMs}`, "HTTPTraceInterceptor");
|
|
|
66518
66724
|
}
|
|
66519
66725
|
}
|
|
66520
66726
|
};
|
|
66521
|
-
LoggingInterceptor =
|
|
66727
|
+
LoggingInterceptor = _ts_decorate5([
|
|
66522
66728
|
(0, import_common7.Injectable)(),
|
|
66523
66729
|
_ts_param2(0, (0, import_common7.Inject)(TRACE_LOGGER)),
|
|
66524
66730
|
_ts_param2(2, (0, import_common7.Inject)(AppLogger)),
|
|
@@ -66586,13 +66792,13 @@ __name(createFileDestination, "createFileDestination");
|
|
|
66586
66792
|
var import_common8 = require("@nestjs/common");
|
|
66587
66793
|
var import_crypto3 = require("crypto");
|
|
66588
66794
|
var import_nestjs_common5 = require("@lark-apaas/nestjs-common");
|
|
66589
|
-
function
|
|
66795
|
+
function _ts_decorate6(decorators, target, key, desc) {
|
|
66590
66796
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
66591
66797
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
66592
66798
|
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;
|
|
66593
66799
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
66594
66800
|
}
|
|
66595
|
-
__name(
|
|
66801
|
+
__name(_ts_decorate6, "_ts_decorate");
|
|
66596
66802
|
function _ts_metadata5(k, v) {
|
|
66597
66803
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
66598
66804
|
}
|
|
@@ -66617,7 +66823,7 @@ var LoggerContextMiddleware = class {
|
|
|
66617
66823
|
next();
|
|
66618
66824
|
}
|
|
66619
66825
|
};
|
|
66620
|
-
LoggerContextMiddleware =
|
|
66826
|
+
LoggerContextMiddleware = _ts_decorate6([
|
|
66621
66827
|
(0, import_common8.Injectable)(),
|
|
66622
66828
|
_ts_metadata5("design:type", Function),
|
|
66623
66829
|
_ts_metadata5("design:paramtypes", [
|
|
@@ -66626,19 +66832,19 @@ LoggerContextMiddleware = _ts_decorate5([
|
|
|
66626
66832
|
], LoggerContextMiddleware);
|
|
66627
66833
|
|
|
66628
66834
|
// src/module.ts
|
|
66629
|
-
function
|
|
66835
|
+
function _ts_decorate7(decorators, target, key, desc) {
|
|
66630
66836
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
66631
66837
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
66632
66838
|
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;
|
|
66633
66839
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
66634
66840
|
}
|
|
66635
|
-
__name(
|
|
66841
|
+
__name(_ts_decorate7, "_ts_decorate");
|
|
66636
66842
|
var LoggerModule = class {
|
|
66637
66843
|
static {
|
|
66638
66844
|
__name(this, "LoggerModule");
|
|
66639
66845
|
}
|
|
66640
66846
|
};
|
|
66641
|
-
LoggerModule =
|
|
66847
|
+
LoggerModule = _ts_decorate7([
|
|
66642
66848
|
(0, import_common9.Global)(),
|
|
66643
66849
|
(0, import_common9.Module)({
|
|
66644
66850
|
imports: [
|
|
@@ -66668,13 +66874,13 @@ LoggerModule = _ts_decorate6([
|
|
|
66668
66874
|
inject: [
|
|
66669
66875
|
import_nestjs_common6.RequestContextService,
|
|
66670
66876
|
logger_config_default.KEY,
|
|
66671
|
-
|
|
66877
|
+
import_nestjs_common6.OBSERVABLE_SERVICE_TOKEN
|
|
66672
66878
|
]
|
|
66673
66879
|
},
|
|
66674
66880
|
AppLogger,
|
|
66675
66881
|
LoggingInterceptor,
|
|
66676
66882
|
{
|
|
66677
|
-
provide:
|
|
66883
|
+
provide: import_core42.APP_INTERCEPTOR,
|
|
66678
66884
|
useClass: LoggingInterceptor
|
|
66679
66885
|
}
|
|
66680
66886
|
],
|