@lark-apaas/nestjs-logger 1.0.1-alpha.3 → 1.0.2-alpha.1

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.d.cts CHANGED
@@ -24,6 +24,7 @@ declare abstract class BasePinoLogger implements LoggerService {
24
24
  protected readonly logger: Logger;
25
25
  protected readonly contextStore: RequestContextService;
26
26
  private readonly levelState;
27
+ private readonly otelLogger;
27
28
  constructor(logger: Logger, contextStore: RequestContextService);
28
29
  setLogLevels(levels: LogLevel[]): void;
29
30
  log(message: unknown, ...optionalParams: unknown[]): void;
@@ -64,7 +65,7 @@ type RequestWithUserContext = Request & {
64
65
  declare class LoggerContextMiddleware implements NestMiddleware {
65
66
  private readonly requestContext;
66
67
  constructor(requestContext: RequestContextService);
67
- use(req: RequestWithUserContext, _res: Response, next: NextFunction): void;
68
+ use(req: RequestWithUserContext, res: Response, next: NextFunction): void;
68
69
  }
69
70
 
70
71
  declare const TRACE_LOGGER: unique symbol;
package/dist/index.d.ts CHANGED
@@ -24,6 +24,7 @@ declare abstract class BasePinoLogger implements LoggerService {
24
24
  protected readonly logger: Logger;
25
25
  protected readonly contextStore: RequestContextService;
26
26
  private readonly levelState;
27
+ private readonly otelLogger;
27
28
  constructor(logger: Logger, contextStore: RequestContextService);
28
29
  setLogLevels(levels: LogLevel[]): void;
29
30
  log(message: unknown, ...optionalParams: unknown[]): void;
@@ -64,7 +65,7 @@ type RequestWithUserContext = Request & {
64
65
  declare class LoggerContextMiddleware implements NestMiddleware {
65
66
  private readonly requestContext;
66
67
  constructor(requestContext: RequestContextService);
67
- use(req: RequestWithUserContext, _res: Response, next: NextFunction): void;
68
+ use(req: RequestWithUserContext, res: Response, next: NextFunction): void;
68
69
  }
69
70
 
70
71
  declare const TRACE_LOGGER: unique symbol;
package/dist/index.js CHANGED
@@ -452,7 +452,7 @@ var require_config_constants = __commonJS({
452
452
  value: true
453
453
  });
454
454
  exports.AS_PROVIDER_METHOD_KEY = exports.VALIDATED_ENV_PROPNAME = exports.PARTIAL_CONFIGURATION_PROPNAME = exports.PARTIAL_CONFIGURATION_KEY = exports.VALIDATED_ENV_LOADER = exports.CONFIGURATION_LOADER = exports.CONFIGURATION_TOKEN = exports.CONFIGURATION_SERVICE_TOKEN = void 0;
455
- exports.CONFIGURATION_SERVICE_TOKEN = Symbol("CONFIG_SERVICE");
455
+ exports.CONFIGURATION_SERVICE_TOKEN = /* @__PURE__ */ Symbol("CONFIG_SERVICE");
456
456
  exports.CONFIGURATION_TOKEN = "CONFIGURATION_TOKEN";
457
457
  exports.CONFIGURATION_LOADER = "CONFIGURATION_LOADER";
458
458
  exports.VALIDATED_ENV_LOADER = "VALIDATED_ENV_LOADER";
@@ -14372,11 +14372,11 @@ var require_operators = __commonJS({
14372
14372
  // src/service/app-logger.service.ts
14373
14373
  import { Inject, Injectable as Injectable2, Logger } from "@nestjs/common";
14374
14374
  import { inspect } from "util";
14375
+ import { AppOTelLoggerSDK } from "@lark-apaas/observable";
14375
14376
 
14376
14377
  // src/helper/constants.ts
14377
- var PINO_ROOT_LOGGER = Symbol("PINO_ROOT_LOGGER");
14378
- var TRACE_LOGGER = Symbol("TRACE_LOGGER");
14379
- var METRICS_LOGGER = Symbol("METRICS_LOGGER");
14378
+ var PINO_ROOT_LOGGER = /* @__PURE__ */ Symbol("PINO_ROOT_LOGGER");
14379
+ var TRACE_LOGGER = /* @__PURE__ */ Symbol("TRACE_LOGGER");
14380
14380
 
14381
14381
  // src/service/request-context.service.ts
14382
14382
  import { Injectable } from "@nestjs/common";
@@ -14533,11 +14533,13 @@ var BasePinoLogger = class _BasePinoLogger {
14533
14533
  logger;
14534
14534
  contextStore;
14535
14535
  levelState = new LogLevelState();
14536
+ otelLogger = new AppOTelLoggerSDK();
14536
14537
  constructor(logger, contextStore) {
14537
14538
  this.logger = logger;
14538
14539
  this.contextStore = contextStore;
14539
14540
  const pinoLevel = this.logger.level;
14540
14541
  const nestLevels = LogLevelState.fromPinoLevel(pinoLevel);
14542
+ this.otelLogger.start();
14541
14543
  this.levelState.set(nestLevels);
14542
14544
  }
14543
14545
  setLogLevels(levels) {
@@ -14627,6 +14629,7 @@ var BasePinoLogger = class _BasePinoLogger {
14627
14629
  } else {
14628
14630
  this.logger[pinoLevel](sanitizedPayload);
14629
14631
  }
14632
+ this.otelLogger.log(level, messageText ?? "");
14630
14633
  }
14631
14634
  extractOptionalParams(optionalParams, treatStack) {
14632
14635
  const params = [
@@ -14805,6 +14808,7 @@ var logger_config_default = (0, import_config.registerAs)("logger", () => {
14805
14808
  var import_config2 = __toESM(require_config2(), 1);
14806
14809
  var import_operators = __toESM(require_operators(), 1);
14807
14810
  import { Inject as Inject2, Injectable as Injectable3 } from "@nestjs/common";
14811
+ import { format } from "util";
14808
14812
  function _ts_decorate3(decorators, target, key, desc) {
14809
14813
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
14810
14814
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -14935,6 +14939,7 @@ duration_ms=${durationMs}`, "HTTPTraceInterceptor");
14935
14939
  this.traceLogger.logStructured(traceLevel, isError ? "HTTP request failed" : "HTTP request completed", responseMeta, "HTTPTraceInterceptor");
14936
14940
  });
14937
14941
  return next.handle().pipe((0, import_operators.catchError)((error) => {
14942
+ this.appLogger.error(format("HTTP request exception\nmethod=%s url=%s\nerror=%o", req.method, req.url, error), "HTTPTraceInterceptor");
14938
14943
  throw error;
14939
14944
  }));
14940
14945
  }
@@ -15050,13 +15055,14 @@ var LoggerContextMiddleware = class {
15050
15055
  constructor(requestContext) {
15051
15056
  this.requestContext = requestContext;
15052
15057
  }
15053
- use(req, _res, next) {
15058
+ use(req, res, next) {
15054
15059
  const requestId = req.headers["x-tt-log-id"] ?? randomUUID();
15055
15060
  const path = req.originalUrl ?? req.url;
15056
15061
  const userContext = req.userContext ?? {};
15057
15062
  const mutableReq = req;
15058
15063
  mutableReq.requestId = requestId;
15059
15064
  mutableReq.id = requestId;
15065
+ res.setHeader("x-log-trace-id", requestId);
15060
15066
  this.requestContext.run({
15061
15067
  requestId,
15062
15068
  path,