@lark-apaas/nestjs-logger 1.0.2-alpha.23 → 1.0.2-alpha.24

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.js CHANGED
@@ -63663,14 +63663,10 @@ import { Global, Module } from "@nestjs/common";
63663
63663
  // ../observable-server/dist/index.js
63664
63664
  var import_sdk_node = __toESM(require_src12(), 1);
63665
63665
  init_esm6();
63666
- var import_sdk_trace_node = __toESM(require_src2(), 1);
63667
63666
  init_esm5();
63668
- init_esm();
63669
63667
  init_esm4();
63670
63668
  init_esm3();
63671
- init_esm4();
63672
- init_esm3();
63673
- init_esm();
63669
+ import { Injectable } from "@nestjs/common";
63674
63670
  import { randomBytes } from "crypto";
63675
63671
  var __defProp = Object.defineProperty;
63676
63672
  var __name2 = /* @__PURE__ */ __name((target, value) => __defProp(target, "name", {
@@ -63733,11 +63729,6 @@ var AppEnv = /* @__PURE__ */ (function(AppEnv2) {
63733
63729
  AppEnv2["Prod"] = "runtime";
63734
63730
  return AppEnv2;
63735
63731
  })({});
63736
- var defaultResourceAttr = {
63737
- "sdk_version": "1.0.1-alpha.18",
63738
- "sdk_type": "client-backend",
63739
- "sdk_language": "node"
63740
- };
63741
63732
  var safeStringify = /* @__PURE__ */ __name2((obj) => {
63742
63733
  try {
63743
63734
  return JSON.stringify(obj);
@@ -63754,6 +63745,19 @@ function convertAttributesToString(attributes) {
63754
63745
  }
63755
63746
  __name(convertAttributesToString, "convertAttributesToString");
63756
63747
  __name2(convertAttributesToString, "convertAttributesToString");
63748
+ function _ts_decorate(decorators, target, key, desc) {
63749
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
63750
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
63751
+ 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;
63752
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
63753
+ }
63754
+ __name(_ts_decorate, "_ts_decorate");
63755
+ __name2(_ts_decorate, "_ts_decorate");
63756
+ function _ts_metadata(k, v) {
63757
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
63758
+ }
63759
+ __name(_ts_metadata, "_ts_metadata");
63760
+ __name2(_ts_metadata, "_ts_metadata");
63757
63761
  var CustomExporter = class {
63758
63762
  static {
63759
63763
  __name(this, "CustomExporter");
@@ -63773,113 +63777,28 @@ var CustomExporter = class {
63773
63777
  };
63774
63778
  const otlpLikeStructure = {
63775
63779
  resource: {
63776
- attributes: {
63777
- ...defaultResourceAttr
63778
- }
63779
- },
63780
- logRecords: logs2.map((log) => ({
63781
- timeUnixNano: hrTimeToNanosNumber(log.hrTime),
63782
- observedTimeUnixNano: hrTimeToNanosNumber(log.hrTimeObserved),
63783
- severityNumber: log.severityNumber,
63784
- severityText: log.severityText,
63785
- body: log.body,
63786
- attributes: convertAttributesToString({
63787
- ...defaultAttributes,
63788
- ...log.attributes ?? {}
63789
- }),
63790
- traceID: log.spanContext?.traceId,
63791
- spanID: log.spanContext?.spanId
63792
- }))
63793
- };
63794
- console.log(this.logPrefix + JSON.stringify(otlpLikeStructure) + this.logSuffix);
63795
- resultCallback({
63796
- code: ExportResultCode.SUCCESS
63797
- });
63798
- }
63799
- async shutdown() {
63800
- }
63801
- };
63802
- function mapSeverity(level) {
63803
- switch (level.toLowerCase()) {
63804
- case "trace":
63805
- return SeverityNumber.TRACE;
63806
- case "debug":
63807
- return SeverityNumber.DEBUG;
63808
- case "info":
63809
- return SeverityNumber.INFO;
63810
- case "warn":
63811
- return SeverityNumber.WARN;
63812
- case "error":
63813
- return SeverityNumber.ERROR;
63814
- case "fatal":
63815
- return SeverityNumber.FATAL;
63816
- default:
63817
- return SeverityNumber.INFO;
63818
- }
63819
- }
63820
- __name(mapSeverity, "mapSeverity");
63821
- __name2(mapSeverity, "mapSeverity");
63822
- function mapSeverityText(level) {
63823
- switch (level.toLowerCase()) {
63824
- case "trace":
63825
- return "INFO";
63826
- case "debug":
63827
- return "DEBUG";
63828
- case "info":
63829
- return "INFO";
63830
- case "warn":
63831
- return "WARN";
63832
- case "error":
63833
- return "ERROR";
63834
- case "fatal":
63835
- return "ERROR";
63836
- default:
63837
- return "INFO";
63838
- }
63839
- }
63840
- __name(mapSeverityText, "mapSeverityText");
63841
- __name2(mapSeverityText, "mapSeverityText");
63842
- var CustomTraceExporter = class {
63843
- static {
63844
- __name(this, "CustomTraceExporter");
63845
- }
63846
- static {
63847
- __name2(this, "CustomTraceExporter");
63848
- }
63849
- tracePrefix = "force-trace-prefix";
63850
- traceSuffix = "force-trace-suffix";
63851
- export(spans, resultCallback) {
63852
- const isDev = process.env.NODE_ENV === "development";
63853
- const defaultAttributes = {
63854
- uuid: idGenerator.generateTraceId(),
63855
- app_env: isDev ? AppEnv.Dev : AppEnv.Prod
63856
- };
63857
- const otlpLikeStructure = {
63858
- resource: {
63859
- attributes: {
63860
- ...defaultResourceAttr
63861
- }
63780
+ // 合并 OTel Resource(此处暂留空,真实场景可由 sdk.resource 提供)
63781
+ attributes: {}
63862
63782
  },
63863
- spans: spans.map((span) => {
63783
+ logRecords: logs2.map((log) => {
63864
63784
  const rawAttributes = {
63865
63785
  ...defaultAttributes,
63866
- ...span.attributes ?? {}
63786
+ ...log.attributes ?? {}
63867
63787
  };
63868
63788
  const attributes = convertAttributesToString(rawAttributes);
63869
63789
  return {
63870
- startTimeUnixNano: hrTimeToNanosNumber(span.startTime),
63871
- endTimeUnixNano: hrTimeToNanosNumber(span.endTime),
63872
- name: span.name,
63790
+ timeUnixNano: hrTimeToNanosNumber(log.hrTime),
63791
+ observedTimeUnixNano: hrTimeToNanosNumber(log.hrTimeObserved),
63792
+ severityNumber: log.severityNumber,
63793
+ severityText: log.severityText,
63794
+ body: log.body,
63873
63795
  attributes,
63874
- traceID: span.spanContext().traceId,
63875
- spanID: span.spanContext().spanId,
63876
- parentSpanID: span.parentSpanContext?.spanId,
63877
- status: span.status,
63878
- kind: SpanKind.SERVER
63796
+ traceId: log.spanContext?.traceId,
63797
+ spanId: log.spanContext?.spanId
63879
63798
  };
63880
63799
  })
63881
63800
  };
63882
- console.log(this.tracePrefix + JSON.stringify(otlpLikeStructure) + this.traceSuffix);
63801
+ console.log(this.logPrefix + JSON.stringify(otlpLikeStructure) + this.logSuffix);
63883
63802
  resultCallback({
63884
63803
  code: ExportResultCode.SUCCESS
63885
63804
  });
@@ -63887,17 +63806,20 @@ var CustomTraceExporter = class {
63887
63806
  async shutdown() {
63888
63807
  }
63889
63808
  };
63890
- var AppOTelSDK = class _AppOTelSDK {
63809
+ CustomExporter = _ts_decorate([
63810
+ Injectable(),
63811
+ _ts_metadata("design:type", Function),
63812
+ _ts_metadata("design:paramtypes", [])
63813
+ ], CustomExporter);
63814
+ var AppOTelLoggerSDK = class {
63891
63815
  static {
63892
- __name(this, "_AppOTelSDK");
63816
+ __name(this, "AppOTelLoggerSDK");
63893
63817
  }
63894
63818
  static {
63895
- __name2(this, "AppOTelSDK");
63819
+ __name2(this, "AppOTelLoggerSDK");
63896
63820
  }
63897
63821
  sdk = null;
63898
63822
  logProcessor = null;
63899
- spanProcessor = null;
63900
- static CUSTOM_FORMAT_REGEX = /^[0-9a-fA-F]{32}-[0-9a-fA-F]{16}$/;
63901
63823
  start() {
63902
63824
  const resource = detectResources({
63903
63825
  detectors: [
@@ -63907,68 +63829,24 @@ var AppOTelSDK = class _AppOTelSDK {
63907
63829
  const logExporter = new CustomExporter();
63908
63830
  this.logProcessor = new BatchLogRecordProcessor(logExporter, {
63909
63831
  scheduledDelayMillis: 2e3,
63910
- maxExportBatchSize: 2
63911
- });
63912
- const traceExporter = new CustomTraceExporter();
63913
- this.spanProcessor = new import_sdk_trace_node.BatchSpanProcessor(traceExporter, {
63914
- scheduledDelayMillis: 2e3,
63915
- maxExportBatchSize: 2
63832
+ maxExportBatchSize: 10
63916
63833
  });
63917
63834
  this.sdk = new import_sdk_node.NodeSDK({
63918
63835
  resource,
63919
63836
  logRecordProcessor: this.logProcessor,
63920
- spanProcessor: this.spanProcessor
63837
+ traceExporter: void 0
63921
63838
  });
63922
63839
  this.sdk.start();
63923
63840
  }
63924
63841
  /**
63925
- * [框架专用 API] 开启一个根 Span (Root Span)
63926
- * 该方法专供 Middleware/Interceptor 使用,不建议用户直接调用
63927
- */
63928
- startContext(headers, name, fn) {
63929
- const carrier = {};
63930
- const customTraceId = headers["rpc-persist-apaas-observability-trace"];
63931
- if (customTraceId && _AppOTelSDK.CUSTOM_FORMAT_REGEX.test(customTraceId)) {
63932
- carrier["traceparent"] = `00-${customTraceId}-01`;
63933
- }
63934
- const activeContext = propagation.extract(context.active(), carrier);
63935
- const tracer = trace.getTracer("app-core");
63936
- tracer.startActiveSpan(name, {}, activeContext, (span) => {
63937
- fn(span);
63938
- });
63939
- }
63940
- /**
63941
- * [用户专用 API] 手动打点 (Child Span)
63942
- * 用户在 Service 中调用此方法,会自动挂载到 Middleware 创建的 Root Span 下
63943
- */
63944
- async trace(name, fn) {
63945
- const tracer = trace.getTracer("user-trace");
63946
- return tracer.startActiveSpan(name, async (span) => {
63947
- try {
63948
- const res = await fn(span);
63949
- span.setStatus({
63950
- code: SpanStatusCode.OK
63951
- });
63952
- return res;
63953
- } catch (e) {
63954
- span.recordException(e);
63955
- span.setStatus({
63956
- code: SpanStatusCode.ERROR
63957
- });
63958
- throw e;
63959
- } finally {
63960
- span.end();
63961
- }
63962
- });
63963
- }
63964
- /**
63965
- * [Log API] 自动关联 TraceContext
63842
+ * 用户使用的日志接口
63843
+ * 自动合并请求级上下文(由 ContextProvider 提供)
63966
63844
  */
63967
63845
  log(level, message, extra = {}) {
63968
63846
  const logger2 = logs.getLogger("app-logger");
63969
- const severityNumber = mapSeverity(level);
63970
- const severityText = mapSeverityText(level);
63971
- const attributes = {
63847
+ const severityNumber = this.mapSeverity(level);
63848
+ const severityText = this.mapSeverityText(level);
63849
+ const mergedAttributes = {
63972
63850
  ...extra || {},
63973
63851
  pid: process.pid
63974
63852
  };
@@ -63976,148 +63854,134 @@ var AppOTelSDK = class _AppOTelSDK {
63976
63854
  body: message,
63977
63855
  severityNumber,
63978
63856
  severityText,
63979
- attributes,
63980
- timestamp: /* @__PURE__ */ new Date(),
63981
- // 自动关联当前上下文
63982
- context: context.active()
63857
+ attributes: mergedAttributes,
63858
+ timestamp: /* @__PURE__ */ new Date()
63983
63859
  });
63984
63860
  }
63985
- /**
63986
- * [框架专用] 强制刷新
63987
- */
63988
63861
  async flush() {
63989
- await Promise.all([
63990
- this.logProcessor?.forceFlush(),
63991
- this.spanProcessor?.forceFlush()
63992
- ]);
63862
+ if (this.logProcessor) {
63863
+ await this.logProcessor.forceFlush();
63864
+ }
63865
+ }
63866
+ mapSeverity(level) {
63867
+ switch (level.toLowerCase()) {
63868
+ case "trace":
63869
+ return SeverityNumber.TRACE;
63870
+ case "debug":
63871
+ return SeverityNumber.DEBUG;
63872
+ case "info":
63873
+ return SeverityNumber.INFO;
63874
+ case "warn":
63875
+ return SeverityNumber.WARN;
63876
+ case "error":
63877
+ return SeverityNumber.ERROR;
63878
+ case "fatal":
63879
+ return SeverityNumber.FATAL;
63880
+ default:
63881
+ return SeverityNumber.INFO;
63882
+ }
63883
+ }
63884
+ mapSeverityText(level) {
63885
+ switch (level.toLowerCase()) {
63886
+ case "trace":
63887
+ return "INFO";
63888
+ case "debug":
63889
+ return "DEBUG";
63890
+ case "info":
63891
+ return "INFO";
63892
+ case "warn":
63893
+ return "WARN";
63894
+ case "error":
63895
+ return "ERROR";
63896
+ case "fatal":
63897
+ return "ERROR";
63898
+ default:
63899
+ return "INFO";
63900
+ }
63993
63901
  }
63994
63902
  };
63995
- var appSdk = new AppOTelSDK();
63903
+ var appSdk = new AppOTelLoggerSDK();
63996
63904
 
63997
63905
  // ../nestjs-observable/dist/index.js
63998
63906
  import { CommonModule } from "@lark-apaas/nestjs-common";
63999
- import { Injectable } from "@nestjs/common";
64000
- import { RequestContextService } from "@lark-apaas/nestjs-common";
64001
63907
  import { Injectable as Injectable2 } from "@nestjs/common";
63908
+ import { RequestContextService } from "@lark-apaas/nestjs-common";
64002
63909
  var __defProp2 = Object.defineProperty;
64003
63910
  var __name3 = /* @__PURE__ */ __name((target, value) => __defProp2(target, "name", {
64004
63911
  value,
64005
63912
  configurable: true
64006
63913
  }), "__name");
64007
- function _ts_decorate(decorators, target, key, desc) {
63914
+ function _ts_decorate2(decorators, target, key, desc) {
64008
63915
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
64009
63916
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
64010
63917
  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;
64011
63918
  return c > 3 && r && Object.defineProperty(target, key, r), r;
64012
63919
  }
64013
- __name(_ts_decorate, "_ts_decorate");
64014
- __name3(_ts_decorate, "_ts_decorate");
64015
- function _ts_metadata(k, v) {
63920
+ __name(_ts_decorate2, "_ts_decorate");
63921
+ __name3(_ts_decorate2, "_ts_decorate");
63922
+ function _ts_metadata2(k, v) {
64016
63923
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
64017
63924
  }
64018
- __name(_ts_metadata, "_ts_metadata");
64019
- __name3(_ts_metadata, "_ts_metadata");
64020
- var ObservableService = class _ObservableService {
63925
+ __name(_ts_metadata2, "_ts_metadata");
63926
+ __name3(_ts_metadata2, "_ts_metadata");
63927
+ var ObservableService = class {
64021
63928
  static {
64022
- __name(this, "_ObservableService");
63929
+ __name(this, "ObservableService");
64023
63930
  }
64024
63931
  static {
64025
63932
  __name3(this, "ObservableService");
64026
63933
  }
64027
63934
  reqCtx;
64028
- static _instance = null;
64029
63935
  constructor(reqCtx) {
64030
63936
  this.reqCtx = reqCtx;
64031
- if (!_ObservableService._instance) {
64032
- _ObservableService._instance = this;
64033
- }
64034
- }
64035
- /** 获取全局单例(需确保模块已初始化) */
64036
- static getInstance() {
64037
- if (!_ObservableService._instance) {
64038
- throw new Error("[nestjs-observable] ObservableService \u5C1A\u672A\u521D\u59CB\u5316\uFF0C\u8BF7\u786E\u4FDD\u5728\u6839\u6A21\u5757\u5F15\u5165 NestjsObservableModule.forRoot()");
64039
- }
64040
- return _ObservableService._instance;
64041
63937
  }
64042
63938
  /** 记录日志(自动合并上下文) */
64043
63939
  log(level, message, attributes = {}) {
64044
63940
  const contextAttributes = this.reqCtx.getContext() || {};
64045
63941
  appSdk.log(level, message, {
64046
- module: "app_server",
64047
- source_type: "user",
64048
63942
  ...contextAttributes,
64049
63943
  ...attributes
64050
63944
  });
64051
63945
  }
64052
- /** 记录链路 for user,供用户调用 */
64053
- trace(name, fn) {
64054
- const contextAttributes = this.reqCtx.getContext() || {};
64055
- return appSdk.trace(name, (span) => {
64056
- span.setAttributes({
64057
- module: "app_server",
64058
- source_type: "user",
64059
- ...contextAttributes
64060
- });
64061
- return fn(span);
64062
- });
64063
- }
64064
63946
  /** 手动刷新(FaaS/请求结束时可调用) */
64065
63947
  async flush() {
64066
63948
  await appSdk.flush();
64067
63949
  }
64068
63950
  };
64069
- ObservableService = _ts_decorate([
64070
- Injectable(),
64071
- _ts_metadata("design:type", Function),
64072
- _ts_metadata("design:paramtypes", [
63951
+ ObservableService = _ts_decorate2([
63952
+ Injectable2(),
63953
+ _ts_metadata2("design:type", Function),
63954
+ _ts_metadata2("design:paramtypes", [
64073
63955
  typeof RequestContextService === "undefined" ? Object : RequestContextService
64074
63956
  ])
64075
63957
  ], ObservableService);
64076
- function _ts_decorate2(decorators, target, key, desc) {
63958
+ function _ts_decorate22(decorators, target, key, desc) {
64077
63959
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
64078
63960
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
64079
63961
  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;
64080
63962
  return c > 3 && r && Object.defineProperty(target, key, r), r;
64081
63963
  }
64082
- __name(_ts_decorate2, "_ts_decorate2");
64083
- __name3(_ts_decorate2, "_ts_decorate");
64084
- function _ts_metadata2(k, v) {
63964
+ __name(_ts_decorate22, "_ts_decorate2");
63965
+ __name3(_ts_decorate22, "_ts_decorate");
63966
+ function _ts_metadata22(k, v) {
64085
63967
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
64086
63968
  }
64087
- __name(_ts_metadata2, "_ts_metadata2");
64088
- __name3(_ts_metadata2, "_ts_metadata");
64089
- var OBSERVABLE_SINGLETON = null;
64090
- function getObservableService() {
64091
- if (!OBSERVABLE_SINGLETON) {
64092
- throw new Error("[nestjs-observable] ObservableService \u5C1A\u672A\u521D\u59CB\u5316\uFF0C\u8BF7\u786E\u4FDD\u5728\u6839\u6A21\u5757\u5F15\u5165 NestjsObservableModule.forRoot()");
64093
- }
64094
- return OBSERVABLE_SINGLETON;
64095
- }
64096
- __name(getObservableService, "getObservableService");
64097
- __name3(getObservableService, "getObservableService");
64098
- var NestjsObservableModule = class _NestjsObservableModule {
63969
+ __name(_ts_metadata22, "_ts_metadata2");
63970
+ __name3(_ts_metadata22, "_ts_metadata");
63971
+ var NestjsObservableModule = class {
64099
63972
  static {
64100
- __name(this, "_NestjsObservableModule");
63973
+ __name(this, "NestjsObservableModule");
64101
63974
  }
64102
63975
  static {
64103
63976
  __name3(this, "NestjsObservableModule");
64104
63977
  }
64105
- observableService;
64106
- constructor(observableService) {
64107
- this.observableService = observableService;
64108
- }
64109
- static forRoot() {
64110
- return {
64111
- module: _NestjsObservableModule,
64112
- global: true
64113
- };
63978
+ constructor() {
64114
63979
  }
64115
63980
  onModuleInit() {
64116
63981
  appSdk.start();
64117
- OBSERVABLE_SINGLETON = this.observableService;
64118
63982
  }
64119
63983
  };
64120
- NestjsObservableModule = _ts_decorate2([
63984
+ NestjsObservableModule = _ts_decorate22([
64121
63985
  Global(),
64122
63986
  Module({
64123
63987
  imports: [
@@ -64130,104 +63994,18 @@ NestjsObservableModule = _ts_decorate2([
64130
63994
  ObservableService
64131
63995
  ]
64132
63996
  }),
64133
- _ts_metadata2("design:type", Function),
64134
- _ts_metadata2("design:paramtypes", [
64135
- typeof ObservableService === "undefined" ? Object : ObservableService
64136
- ])
63997
+ _ts_metadata22("design:type", Function),
63998
+ _ts_metadata22("design:paramtypes", [])
64137
63999
  ], NestjsObservableModule);
64138
- var SpanStatusCode2;
64139
- (function(SpanStatusCode22) {
64140
- SpanStatusCode22[SpanStatusCode22["UNSET"] = 0] = "UNSET";
64141
- SpanStatusCode22[SpanStatusCode22["OK"] = 1] = "OK";
64142
- SpanStatusCode22[SpanStatusCode22["ERROR"] = 2] = "ERROR";
64143
- })(SpanStatusCode2 || (SpanStatusCode2 = {}));
64144
- function _ts_decorate3(decorators, target, key, desc) {
64145
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
64146
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
64147
- 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;
64148
- return c > 3 && r && Object.defineProperty(target, key, r), r;
64149
- }
64150
- __name(_ts_decorate3, "_ts_decorate3");
64151
- __name3(_ts_decorate3, "_ts_decorate");
64152
- var ObservableTraceMiddleware = class {
64153
- static {
64154
- __name(this, "ObservableTraceMiddleware");
64155
- }
64156
- static {
64157
- __name3(this, "ObservableTraceMiddleware");
64158
- }
64159
- use(req, res, next) {
64160
- const spanName = `${req.method} ${req.originalUrl || req.url}`;
64161
- appSdk.startContext(req.headers, spanName, (span) => {
64162
- res.on("finish", () => {
64163
- const status = res.statusCode;
64164
- span.setAttribute("http_status_code", status);
64165
- if (status >= 500) {
64166
- span.setStatus({
64167
- code: SpanStatusCode2.ERROR,
64168
- message: `Server Error ${status}`
64169
- });
64170
- } else if (status >= 400) {
64171
- span.setStatus({
64172
- code: SpanStatusCode2.UNSET
64173
- });
64174
- } else {
64175
- span.setStatus({
64176
- code: SpanStatusCode2.OK
64177
- });
64178
- }
64179
- span.end();
64180
- appSdk.flush().catch((err) => {
64181
- console.error("[OtelMiddleware] Flush failed:", err);
64182
- });
64183
- });
64184
- next();
64185
- });
64186
- }
64187
- };
64188
- ObservableTraceMiddleware = _ts_decorate3([
64189
- Injectable2()
64190
- ], ObservableTraceMiddleware);
64191
- function Trace(name) {
64192
- return function(target, propertyKey, descriptor) {
64193
- const originalMethod = descriptor.value;
64194
- if (!originalMethod) {
64195
- return descriptor;
64196
- }
64197
- descriptor.value = async function(...args) {
64198
- const spanName = name || `${target?.constructor?.name}.${String(propertyKey)}`;
64199
- const context2 = this.reqCtx?.getContext?.() || {};
64200
- const contextAttributes = {
64201
- user_id: context2.userId || "",
64202
- app_id: context2.appId || "",
64203
- tenant_id: context2.tenantId || ""
64204
- };
64205
- return await appSdk.trace(spanName, async (span) => {
64206
- if (contextAttributes && typeof contextAttributes === "object") {
64207
- span.setAttributes({
64208
- module: "app_server",
64209
- source_type: "user",
64210
- ...contextAttributes
64211
- });
64212
- }
64213
- const result = await originalMethod.apply(this, args);
64214
- return result;
64215
- });
64216
- };
64217
- return descriptor;
64218
- };
64219
- }
64220
- __name(Trace, "Trace");
64221
- __name3(Trace, "Trace");
64222
64000
 
64223
64001
  // src/service/app-logger.service.ts
64224
- function _ts_decorate4(decorators, target, key, desc) {
64002
+ function _ts_decorate3(decorators, target, key, desc) {
64225
64003
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
64226
64004
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
64227
64005
  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;
64228
64006
  return c > 3 && r && Object.defineProperty(target, key, r), r;
64229
64007
  }
64230
- __name(_ts_decorate4, "_ts_decorate");
64008
+ __name(_ts_decorate3, "_ts_decorate");
64231
64009
  function _ts_metadata3(k, v) {
64232
64010
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
64233
64011
  }
@@ -64521,7 +64299,7 @@ var AppLogger = class extends BasePinoLogger {
64521
64299
  Logger2.overrideLogger(this);
64522
64300
  }
64523
64301
  };
64524
- AppLogger = _ts_decorate4([
64302
+ AppLogger = _ts_decorate3([
64525
64303
  Injectable3(),
64526
64304
  _ts_param(0, Inject(PINO_ROOT_LOGGER)),
64527
64305
  _ts_param(1, Inject(OBSERVABLE_SERVICE_TOKEN)),
@@ -64619,13 +64397,13 @@ var import_operators = __toESM(require_operators(), 1);
64619
64397
  import { Inject as Inject2, Injectable as Injectable4 } from "@nestjs/common";
64620
64398
  import { format } from "util";
64621
64399
  import { RequestContextService as RequestContextService3 } from "@lark-apaas/nestjs-common";
64622
- function _ts_decorate5(decorators, target, key, desc) {
64400
+ function _ts_decorate4(decorators, target, key, desc) {
64623
64401
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
64624
64402
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
64625
64403
  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;
64626
64404
  return c > 3 && r && Object.defineProperty(target, key, r), r;
64627
64405
  }
64628
- __name(_ts_decorate5, "_ts_decorate");
64406
+ __name(_ts_decorate4, "_ts_decorate");
64629
64407
  function _ts_metadata4(k, v) {
64630
64408
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
64631
64409
  }
@@ -64780,7 +64558,7 @@ duration_ms=${durationMs}`, "HTTPTraceInterceptor");
64780
64558
  }
64781
64559
  }
64782
64560
  };
64783
- LoggingInterceptor = _ts_decorate5([
64561
+ LoggingInterceptor = _ts_decorate4([
64784
64562
  Injectable4(),
64785
64563
  _ts_param2(0, Inject2(TRACE_LOGGER)),
64786
64564
  _ts_param2(2, Inject2(AppLogger)),
@@ -64848,13 +64626,13 @@ __name(createFileDestination, "createFileDestination");
64848
64626
  import { Injectable as Injectable5 } from "@nestjs/common";
64849
64627
  import { randomUUID as randomUUID2 } from "crypto";
64850
64628
  import { RequestContextService as RequestContextService4 } from "@lark-apaas/nestjs-common";
64851
- function _ts_decorate6(decorators, target, key, desc) {
64629
+ function _ts_decorate5(decorators, target, key, desc) {
64852
64630
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
64853
64631
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
64854
64632
  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;
64855
64633
  return c > 3 && r && Object.defineProperty(target, key, r), r;
64856
64634
  }
64857
- __name(_ts_decorate6, "_ts_decorate");
64635
+ __name(_ts_decorate5, "_ts_decorate");
64858
64636
  function _ts_metadata5(k, v) {
64859
64637
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
64860
64638
  }
@@ -64879,7 +64657,7 @@ var LoggerContextMiddleware = class {
64879
64657
  next();
64880
64658
  }
64881
64659
  };
64882
- LoggerContextMiddleware = _ts_decorate6([
64660
+ LoggerContextMiddleware = _ts_decorate5([
64883
64661
  Injectable5(),
64884
64662
  _ts_metadata5("design:type", Function),
64885
64663
  _ts_metadata5("design:paramtypes", [
@@ -64888,19 +64666,19 @@ LoggerContextMiddleware = _ts_decorate6([
64888
64666
  ], LoggerContextMiddleware);
64889
64667
 
64890
64668
  // src/module.ts
64891
- function _ts_decorate7(decorators, target, key, desc) {
64669
+ function _ts_decorate6(decorators, target, key, desc) {
64892
64670
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
64893
64671
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
64894
64672
  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;
64895
64673
  return c > 3 && r && Object.defineProperty(target, key, r), r;
64896
64674
  }
64897
- __name(_ts_decorate7, "_ts_decorate");
64675
+ __name(_ts_decorate6, "_ts_decorate");
64898
64676
  var LoggerModule = class {
64899
64677
  static {
64900
64678
  __name(this, "LoggerModule");
64901
64679
  }
64902
64680
  };
64903
- LoggerModule = _ts_decorate7([
64681
+ LoggerModule = _ts_decorate6([
64904
64682
  Global2(),
64905
64683
  Module2({
64906
64684
  imports: [