@nest-boot/logger 7.3.5 → 7.3.6

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.
@@ -1,3 +1,10 @@
1
1
  import { type Options } from "pino-http";
2
- /** Configuration options for the logger module (delegates to pino-http). */
3
- export type LoggerModuleOptions = Options;
2
+ /**
3
+ * Logger options supported by {@link LoggerModule}.
4
+ *
5
+ * @remarks
6
+ * Pino is an implementation detail. Only the options needed to control HTTP
7
+ * logging, request IDs, output, serialization, formatting, timestamps, and
8
+ * redaction are part of the public API.
9
+ */
10
+ export type LoggerModuleOptions = Pick<Options, "autoLogging" | "enabled" | "formatters" | "genReqId" | "redact" | "serializers" | "stream" | "timestamp">;
package/dist/logger.d.ts CHANGED
@@ -10,6 +10,8 @@ import { type Bindings } from "pino";
10
10
  */
11
11
  export declare class Logger implements LoggerService {
12
12
  private parentClass;
13
+ /** Configured pino-http middleware supplied by LoggerModule. @internal */
14
+ private readonly loggerMiddleware?;
13
15
  /** Current logging context name. @internal */
14
16
  private context?;
15
17
  /** Fallback pino logger when no request context is active. @internal */
package/dist/logger.js CHANGED
@@ -108,7 +108,9 @@ let Logger = class Logger {
108
108
  //
109
109
  }
110
110
  if (typeof pinoLogger === "undefined") {
111
- return this.globalLogger ?? (this.globalLogger = (0, pino_1.default)());
111
+ return (this.loggerMiddleware?.logger ??
112
+ this.globalLogger ??
113
+ (this.globalLogger = (0, pino_1.default)()));
112
114
  }
113
115
  return pinoLogger;
114
116
  }
@@ -136,6 +138,11 @@ let Logger = class Logger {
136
138
  }
137
139
  };
138
140
  exports.Logger = Logger;
141
+ __decorate([
142
+ (0, common_1.Optional)(),
143
+ (0, common_1.Inject)(logger_module_definition_1.PINO_HTTP),
144
+ __metadata("design:type", Function)
145
+ ], Logger.prototype, "loggerMiddleware", void 0);
139
146
  exports.Logger = Logger = __decorate([
140
147
  (0, common_1.Injectable)({ scope: common_1.Scope.TRANSIENT }),
141
148
  __param(0, (0, common_1.Inject)(core_1.INQUIRER)),
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,gEAA4D;AAC5D,2CAMwB;AACxB,uCAAwC;AACxC,gDAIc;AAGd,yEAA8E;AAE9E;;;;;;;GAOG;AAEI,IAAM,MAAM,GAAZ,MAAM,MAAM;IAYjB;;OAEG;IACH,YAAsC,WAAmB;QAAnB,gBAAW,GAAX,WAAW,CAAQ;QACvD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,+CAA+C;IAC/C,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,OAAe;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,OAAe,EAAE,GAAG,cAAyB;QACnD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAe,EAAE,GAAG,cAAyB;QACjD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,OAAe,EAAE,GAAG,cAAyB;QAC/C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,OAAe,EAAE,GAAG,cAAyB;QAChD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAe,EAAE,GAAG,cAAyB;QACjD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC;IACjD,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,QAAkB;QACvB,gCAAc,CAAC,GAAG,CAAC,mCAAQ,EAAE;YAC3B,GAAG,CAAC,gCAAc,CAAC,GAAG,CAAW,mCAAQ,CAAC,IAAI,EAAE,CAAC;YACjD,GAAG,QAAQ;SACZ,CAAC,CAAC;IACL,CAAC;IAED,2FAA2F;IAC3F,IAAY,UAAU;QACpB,IAAI,UAAkC,CAAC;QAEvC,IAAI,CAAC;YACH,UAAU,GAAG,gCAAc,CAAC,GAAG,CAAa,sCAAW,CAAC,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC;YACP,EAAE;QACJ,CAAC;QAED,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE,CAAC;YACtC,OAAO,CACL,IAAI,CAAC,gBAAgB,EAAE,MAAM;gBAC7B,IAAI,CAAC,YAAY;gBACjB,CAAC,IAAI,CAAC,YAAY,GAAG,IAAA,cAAI,GAAE,CAAC,CAC7B,CAAC;QACJ,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,6DAA6D;IACrD,IAAI,CACV,KAAY,EACZ,OAAe,EACf,GAAG,cAAyB;QAE5B,IAAI,QAAQ,GAAa,EAAE,CAAC;QAE5B,IAAI,CAAC;YACH,QAAQ,GAAG,gCAAc,CAAC,GAAG,CAAW,mCAAQ,CAAC,IAAI,EAAE,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,EAAE;QACJ,CAAC;QAED,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAE3B,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,iBAAiB,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACpE,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE,CAAC;gBAC1C,OAAO,GAAG,iBAAiB,CAAC;YAC9B,CAAC;YAED,IAAI,OAAO,cAAc,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC1C,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,CAAC;QACH,CAAC;QAED,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,CAAC;QAEpC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;CACF,CAAA;AA5IY,wBAAM;AAIA;IAFhB,IAAA,iBAAQ,GAAE;IACV,IAAA,eAAM,EAAC,oCAAS,CAAC;;gDAC6B;iBAJpC,MAAM;IADlB,IAAA,mBAAU,EAAC,EAAE,KAAK,EAAE,cAAK,CAAC,SAAS,EAAE,CAAC;IAgBxB,WAAA,IAAA,eAAM,EAAC,eAAQ,CAAC,CAAA;;GAflB,MAAM,CA4IlB"}
@@ -1,4 +1,5 @@
1
1
  import { type LoggerModuleOptions } from "./logger-module-options.interface";
2
2
  export declare const PINO_LOGGER: unique symbol;
3
+ export declare const PINO_HTTP: unique symbol;
3
4
  export declare const BINDINGS: unique symbol;
4
5
  export declare const ConfigurableModuleClass: import("@nestjs/common").ConfigurableModuleCls<LoggerModuleOptions, "register", "create", {}>, MODULE_OPTIONS_TOKEN: string | symbol, OPTIONS_TYPE: LoggerModuleOptions & Partial<{}>, ASYNC_OPTIONS_TYPE: import("@nestjs/common").ConfigurableModuleAsyncOptions<LoggerModuleOptions, "create"> & Partial<{}>;
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.ASYNC_OPTIONS_TYPE = exports.OPTIONS_TYPE = exports.MODULE_OPTIONS_TOKEN = exports.ConfigurableModuleClass = exports.BINDINGS = exports.PINO_LOGGER = void 0;
4
+ exports.ASYNC_OPTIONS_TYPE = exports.OPTIONS_TYPE = exports.MODULE_OPTIONS_TOKEN = exports.ConfigurableModuleClass = exports.BINDINGS = exports.PINO_HTTP = exports.PINO_LOGGER = void 0;
5
5
  const common_1 = require("@nestjs/common");
6
6
  exports.PINO_LOGGER = Symbol("PINO_LOGGER");
7
+ exports.PINO_HTTP = Symbol("PINO_HTTP");
7
8
  exports.BINDINGS = Symbol("BINDINGS");
8
9
  _a = new common_1.ConfigurableModuleBuilder().build(), exports.ConfigurableModuleClass = _a.ConfigurableModuleClass, exports.MODULE_OPTIONS_TOKEN = _a.MODULE_OPTIONS_TOKEN, exports.OPTIONS_TYPE = _a.OPTIONS_TYPE, exports.ASYNC_OPTIONS_TYPE = _a.ASYNC_OPTIONS_TYPE;
9
10
  //# sourceMappingURL=logger.module-definition.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.module-definition.js","sourceRoot":"","sources":["../src/logger.module-definition.ts"],"names":[],"mappings":";;;;AAAA,2CAA2D;AAI9C,QAAA,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAEpC,QAAA,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAE9B,KAKT,IAAI,kCAAyB,EAAuB,CAAC,KAAK,EAAE,EAJ9D,+BAAuB,+BACvB,4BAAoB,4BACpB,oBAAY,oBACZ,0BAAkB,yBAC6C"}
1
+ {"version":3,"file":"logger.module-definition.js","sourceRoot":"","sources":["../src/logger.module-definition.ts"],"names":[],"mappings":";;;;AAAA,2CAA2D;AAI9C,QAAA,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAEpC,QAAA,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAEhC,QAAA,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAE9B,KAKT,IAAI,kCAAyB,EAAuB,CAAC,KAAK,EAAE,EAJ9D,+BAAuB,+BACvB,4BAAoB,4BACpB,oBAAY,oBACZ,0BAAkB,yBAC6C"}
@@ -9,10 +9,13 @@ import { LoggerModuleOptions } from "./logger-module-options.interface";
9
9
  * HTTP logging via pino-http, and a global logging interceptor.
10
10
  */
11
11
  export declare class LoggerModule extends ConfigurableModuleClass implements OnModuleInit {
12
+ /** Complete options passed to the internal pino-http implementation. */
12
13
  private readonly options;
14
+ /** Configured pino-http middleware shared by all logger paths. @internal */
15
+ private loggerMiddleware?;
13
16
  /**
14
17
  * Registers the LoggerModule with the given options.
15
- * @param options - Pino logger configuration options
18
+ * @param options - Supported logger configuration options
16
19
  * @returns Dynamic module configuration
17
20
  */
18
21
  static register(options: typeof OPTIONS_TYPE): DynamicModule;
@@ -23,7 +26,7 @@ export declare class LoggerModule extends ConfigurableModuleClass implements OnM
23
26
  */
24
27
  static registerAsync(options: typeof ASYNC_OPTIONS_TYPE): DynamicModule;
25
28
  /** Creates a new LoggerModule instance.
26
- * @param options - Pino logger configuration options
29
+ * @param options - Supported logger configuration options
27
30
  */
28
31
  constructor(options?: LoggerModuleOptions);
29
32
  /** Sets up the pino-http logger and registers it in the request context middleware. */
@@ -20,11 +20,15 @@ const request_context_1 = require("@nest-boot/request-context");
20
20
  const common_1 = require("@nestjs/common");
21
21
  const core_1 = require("@nestjs/core");
22
22
  const crypto_1 = require("crypto");
23
- const pino_1 = __importDefault(require("pino"));
24
23
  const pino_http_1 = __importDefault(require("pino-http"));
25
24
  const logger_1 = require("./logger");
26
25
  const logger_interceptor_1 = require("./logger.interceptor");
27
26
  const logger_module_definition_1 = require("./logger.module-definition");
27
+ const pinoHttpProvider = {
28
+ provide: logger_module_definition_1.PINO_HTTP,
29
+ inject: [{ token: logger_module_definition_1.MODULE_OPTIONS_TOKEN, optional: true }],
30
+ useFactory: (options) => createLoggerMiddleware(options),
31
+ };
28
32
  /**
29
33
  * Structured logging module powered by Pino.
30
34
  *
@@ -35,7 +39,7 @@ const logger_module_definition_1 = require("./logger.module-definition");
35
39
  let LoggerModule = class LoggerModule extends logger_module_definition_1.ConfigurableModuleClass {
36
40
  /**
37
41
  * Registers the LoggerModule with the given options.
38
- * @param options - Pino logger configuration options
42
+ * @param options - Supported logger configuration options
39
43
  * @returns Dynamic module configuration
40
44
  */
41
45
  static register(options) {
@@ -50,30 +54,16 @@ let LoggerModule = class LoggerModule extends logger_module_definition_1.Configu
50
54
  return super.registerAsync(options);
51
55
  }
52
56
  /** Creates a new LoggerModule instance.
53
- * @param options - Pino logger configuration options
57
+ * @param options - Supported logger configuration options
54
58
  */
55
59
  constructor(options = {}) {
56
60
  super();
57
- this.options = options;
58
- this.options = {
59
- autoLogging: {
60
- ignore: (req) => process.env.NODE_ENV !== "production" &&
61
- req.headers["x-logging"] === "false",
62
- ...(typeof this.options.autoLogging !== "boolean"
63
- ? this.options.autoLogging
64
- : {}),
65
- },
66
- redact: ["req.headers.authorization", "req.headers.cookie"],
67
- genReqId: this.options.genReqId ?? (() => request_context_1.RequestContext.id ?? (0, crypto_1.randomUUID)()),
68
- customReceivedMessage: () => "request received",
69
- customProps: () => request_context_1.RequestContext.isActive() ? (request_context_1.RequestContext.get(logger_module_definition_1.BINDINGS) ?? {}) : {},
70
- ...this.options,
71
- };
61
+ this.options = createLoggerOptions(options);
72
62
  }
73
63
  /** Sets up the pino-http logger and registers it in the request context middleware. */
74
64
  onModuleInit() {
75
- const logger = (0, pino_1.default)();
76
- const loggerMiddleware = (0, pino_http_1.default)(this.options);
65
+ const loggerMiddleware = this.loggerMiddleware ?? (this.loggerMiddleware = (0, pino_http_1.default)(this.options));
66
+ const logger = loggerMiddleware.logger;
77
67
  request_context_1.RequestContext.registerMiddleware("logger", async (ctx, next) => {
78
68
  const req = ctx.get(request_context_1.REQUEST);
79
69
  const res = ctx.get(request_context_1.RESPONSE);
@@ -91,11 +81,17 @@ let LoggerModule = class LoggerModule extends logger_module_definition_1.Configu
91
81
  }
92
82
  };
93
83
  exports.LoggerModule = LoggerModule;
84
+ __decorate([
85
+ (0, common_1.Optional)(),
86
+ (0, common_1.Inject)(logger_module_definition_1.PINO_HTTP),
87
+ __metadata("design:type", Function)
88
+ ], LoggerModule.prototype, "loggerMiddleware", void 0);
94
89
  exports.LoggerModule = LoggerModule = __decorate([
95
90
  (0, common_1.Global)(),
96
91
  (0, common_1.Module)({
97
92
  imports: [request_context_1.RequestContextModule],
98
93
  providers: [
94
+ pinoHttpProvider,
99
95
  logger_1.Logger,
100
96
  {
101
97
  provide: core_1.APP_INTERCEPTOR,
@@ -108,4 +104,25 @@ exports.LoggerModule = LoggerModule = __decorate([
108
104
  __param(0, (0, common_1.Inject)(logger_module_definition_1.MODULE_OPTIONS_TOKEN)),
109
105
  __metadata("design:paramtypes", [Object])
110
106
  ], LoggerModule);
107
+ function createLoggerMiddleware(options) {
108
+ return (0, pino_http_1.default)(createLoggerOptions(options));
109
+ }
110
+ function createLoggerOptions(options = {}) {
111
+ const { autoLogging, enabled, formatters, genReqId, redact, serializers, stream, timestamp, } = options;
112
+ return {
113
+ autoLogging: autoLogging ?? {
114
+ ignore: (req) => process.env.NODE_ENV !== "production" &&
115
+ req.headers["x-logging"] === "false",
116
+ },
117
+ enabled,
118
+ formatters,
119
+ redact: redact ?? ["req.headers.authorization", "req.headers.cookie"],
120
+ serializers,
121
+ stream,
122
+ timestamp,
123
+ genReqId: genReqId ?? (() => request_context_1.RequestContext.id ?? (0, crypto_1.randomUUID)()),
124
+ customReceivedMessage: () => "request received",
125
+ customProps: () => request_context_1.RequestContext.isActive() ? (request_context_1.RequestContext.get(logger_module_definition_1.BINDINGS) ?? {}) : {},
126
+ };
127
+ }
111
128
  //# sourceMappingURL=logger.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.module.js","sourceRoot":"","sources":["../src/logger.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.module.js","sourceRoot":"","sources":["../src/logger.module.ts"],"names":[],"mappings":"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"}
@@ -5,15 +5,18 @@ const testing_1 = require("@nestjs/testing");
5
5
  const mockChildLogger = {
6
6
  ctx: "child",
7
7
  };
8
+ const mockConfiguredPinoLogger = {
9
+ child: jest.fn(() => mockChildLogger),
10
+ };
8
11
  const mockPinoLogger = {
9
12
  child: jest.fn(() => mockChildLogger),
10
13
  };
11
14
  const mockPino = jest.fn(() => mockPinoLogger);
12
- const mockLoggerMiddleware = jest.fn((req) => {
15
+ const mockLoggerMiddleware = Object.assign(jest.fn((req) => {
13
16
  req.log = {
14
17
  child: jest.fn(() => mockChildLogger),
15
18
  };
16
- });
19
+ }), { logger: mockConfiguredPinoLogger });
17
20
  const mockPinoHttp = jest.fn(() => mockLoggerMiddleware);
18
21
  jest.mock("pino", () => ({
19
22
  __esModule: true,
@@ -54,26 +57,100 @@ describe("LoggerModule", () => {
54
57
  },
55
58
  ]));
56
59
  });
60
+ it("should expose only supported logger options", () => {
61
+ expect(true).toBe(true);
62
+ expect(true).toBe(true);
63
+ expect(true).toBe(true);
64
+ expect(true).toBe(true);
65
+ expect(true).toBe(true);
66
+ expect(true).toBe(true);
67
+ expect(true).toBe(true);
68
+ expect(true).toBe(true);
69
+ expect(false).toBe(false);
70
+ expect(false).toBe(false);
71
+ expect(false).toBe(false);
72
+ });
73
+ it("should provide one configured pino-http middleware instance", async () => {
74
+ const moduleRef = await testing_1.Test.createTestingModule({
75
+ imports: [logger_module_1.LoggerModule.register({ enabled: false })],
76
+ }).compile();
77
+ expect(moduleRef.get(logger_module_definition_1.PINO_HTTP)).toBe(mockLoggerMiddleware);
78
+ expect(mockPinoHttp).toHaveBeenCalledTimes(1);
79
+ expect(mockPinoHttp).toHaveBeenCalledWith(expect.objectContaining({ enabled: false }));
80
+ await moduleRef.close();
81
+ });
82
+ it("should ignore options outside the public whitelist at runtime", async () => {
83
+ const customProps = jest.fn(() => ({ unsupported: true }));
84
+ const customReceivedMessage = jest.fn(() => "unsupported-message");
85
+ const moduleRef = await testing_1.Test.createTestingModule({
86
+ imports: [
87
+ logger_module_1.LoggerModule.register({
88
+ customLevels: { audit: 35 },
89
+ customProps,
90
+ customReceivedMessage,
91
+ enabled: false,
92
+ level: "silent",
93
+ transport: { target: "pino-pretty" },
94
+ useOnlyCustomLevels: true,
95
+ }),
96
+ ],
97
+ }).compile();
98
+ const [options] = mockPinoHttp.mock.calls[0];
99
+ expect(options.enabled).toBe(false);
100
+ expect(options).not.toHaveProperty("customLevels");
101
+ expect(options).not.toHaveProperty("level");
102
+ expect(options).not.toHaveProperty("transport");
103
+ expect(options).not.toHaveProperty("useOnlyCustomLevels");
104
+ expect(options.customProps).not.toBe(customProps);
105
+ expect(options.customReceivedMessage).not.toBe(customReceivedMessage);
106
+ await moduleRef.close();
107
+ });
108
+ it("should create the configured middleware from asynchronous options", async () => {
109
+ const useFactory = jest.fn(async () => {
110
+ await Promise.resolve();
111
+ return {
112
+ enabled: false,
113
+ timestamp: false,
114
+ };
115
+ });
116
+ const moduleRef = await testing_1.Test.createTestingModule({
117
+ imports: [logger_module_1.LoggerModule.registerAsync({ useFactory })],
118
+ }).compile();
119
+ expect(useFactory).toHaveBeenCalledTimes(1);
120
+ expect(moduleRef.get(logger_module_definition_1.PINO_HTTP)).toBe(mockLoggerMiddleware);
121
+ expect(mockPinoHttp).toHaveBeenCalledTimes(1);
122
+ expect(mockPinoHttp).toHaveBeenCalledWith(expect.objectContaining({
123
+ enabled: false,
124
+ timestamp: false,
125
+ }));
126
+ await moduleRef.close();
127
+ });
57
128
  it("should apply defaults while preserving supplied options", async () => {
129
+ const genReqId = () => "custom-id";
130
+ const ignore = () => false;
131
+ const serializers = {
132
+ secret: () => "hidden",
133
+ };
58
134
  const module = await createLoggerModule({
59
135
  autoLogging: {
60
- ignore: () => false,
136
+ ignore,
61
137
  },
62
- customProps: () => ({
63
- custom: true,
64
- }),
65
- genReqId: () => "custom-id",
138
+ genReqId,
139
+ serializers,
140
+ timestamp: false,
66
141
  });
67
142
  const options = module.options;
68
143
  expect(options.redact).toEqual([
69
144
  "req.headers.authorization",
70
145
  "req.headers.cookie",
71
146
  ]);
147
+ expect(options.autoLogging.ignore).toBe(ignore);
148
+ expect(options.serializers).toBe(serializers);
149
+ expect(options.timestamp).toBe(false);
150
+ expect(options.genReqId).toBe(genReqId);
72
151
  expect(options.genReqId()).toBe("custom-id");
73
152
  expect(options.customReceivedMessage()).toBe("request received");
74
- expect(options.customProps()).toEqual({
75
- custom: true,
76
- });
153
+ expect(options.customProps()).toEqual({});
77
154
  });
78
155
  it("should configure default request id, props, and auto logging behavior", async () => {
79
156
  const module = await createLoggerModule();
@@ -159,7 +236,7 @@ describe("LoggerModule", () => {
159
236
  expect(mockLoggerMiddleware).toHaveBeenCalledWith(req, res);
160
237
  expect(ctx.set).toHaveBeenCalledWith(logger_module_definition_1.PINO_LOGGER, mockChildLogger);
161
238
  });
162
- it("should register fallback pino logger middleware without request objects", async () => {
239
+ it("should use the configured pino logger without request objects", async () => {
163
240
  const module = await createLoggerModule();
164
241
  const registerMiddleware = jest
165
242
  .spyOn(request_context_1.RequestContext, "registerMiddleware")
@@ -174,12 +251,13 @@ describe("LoggerModule", () => {
174
251
  };
175
252
  const next = jest.fn().mockResolvedValue("next-result");
176
253
  await expect(middleware(ctx, next)).resolves.toBe("next-result");
177
- expect(mockPinoLogger.child).toHaveBeenCalledWith({
254
+ expect(mockConfiguredPinoLogger.child).toHaveBeenCalledWith({
178
255
  ctx: {
179
256
  id: "ctx-id",
180
257
  type: "job",
181
258
  },
182
259
  });
260
+ expect(mockPino).not.toHaveBeenCalled();
183
261
  expect(ctx.set).toHaveBeenCalledWith(logger_module_definition_1.PINO_LOGGER, mockChildLogger);
184
262
  });
185
263
  });
@@ -1 +1 @@
1
- {"version":3,"file":"logger.module.spec.js","sourceRoot":"","sources":["../src/logger.module.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.module.spec.js","sourceRoot":"","sources":["../src/logger.module.spec.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,16 @@ const mockPinoLogger = {
12
12
  warn: jest.fn(),
13
13
  };
14
14
  const mockPino = jest.fn(() => mockPinoLogger);
15
+ const mockConfiguredPinoLogger = {
16
+ debug: jest.fn(),
17
+ error: jest.fn(),
18
+ info: jest.fn(),
19
+ trace: jest.fn(),
20
+ warn: jest.fn(),
21
+ };
22
+ const mockLoggerMiddleware = {
23
+ logger: mockConfiguredPinoLogger,
24
+ };
15
25
  jest.mock("pino", () => ({
16
26
  __esModule: true,
17
27
  default: mockPino,
@@ -84,6 +94,17 @@ describe("Logger", () => {
84
94
  context: "ParentService",
85
95
  }, "error message");
86
96
  });
97
+ it("should use the module-configured logger when request context is inactive", async () => {
98
+ jest.spyOn(request_context_1.RequestContext, "get").mockImplementation(() => {
99
+ throw new Error("Request context is not active");
100
+ });
101
+ const logger = await createLogger(true);
102
+ logger.log("configured message");
103
+ expect(mockConfiguredPinoLogger.info).toHaveBeenCalledWith({
104
+ context: "ParentService",
105
+ }, "configured message");
106
+ expect(mockPino).not.toHaveBeenCalled();
107
+ });
87
108
  it("should log with request-scoped pino logger and bindings", async () => {
88
109
  const requestLogger = {
89
110
  warn: jest.fn(),
@@ -121,15 +142,22 @@ describe("Logger", () => {
121
142
  }, "debug message");
122
143
  });
123
144
  });
124
- async function createLogger() {
145
+ async function createLogger(configured = false) {
146
+ const providers = [
147
+ logger_1.Logger,
148
+ {
149
+ provide: core_1.INQUIRER,
150
+ useValue: new ParentService(),
151
+ },
152
+ ];
153
+ if (configured) {
154
+ providers?.push({
155
+ provide: logger_module_definition_1.PINO_HTTP,
156
+ useValue: mockLoggerMiddleware,
157
+ });
158
+ }
125
159
  const moduleRef = await testing_1.Test.createTestingModule({
126
- providers: [
127
- logger_1.Logger,
128
- {
129
- provide: core_1.INQUIRER,
130
- useValue: new ParentService(),
131
- },
132
- ],
160
+ providers,
133
161
  }).compile();
134
162
  return await moduleRef.resolve(logger_1.Logger);
135
163
  }
@@ -1 +1 @@
1
- {"version":3,"file":"logger.spec.js","sourceRoot":"","sources":["../src/logger.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.spec.js","sourceRoot":"","sources":["../src/logger.spec.ts"],"names":[],"mappings":"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"}