@nest-boot/logger 7.0.3 → 7.0.5
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/logger-module-options.interface.d.ts +1 -0
- package/dist/logger.d.ts +49 -0
- package/dist/logger.js +47 -0
- package/dist/logger.js.map +1 -1
- package/dist/logger.module-definition.d.ts +1 -1
- package/dist/logger.module-definition.js +2 -2
- package/dist/logger.module-definition.js.map +1 -1
- package/dist/logger.module.d.ts +25 -2
- package/dist/logger.module.js +27 -0
- package/dist/logger.module.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +23 -14
package/dist/logger.d.ts
CHANGED
|
@@ -1,18 +1,67 @@
|
|
|
1
1
|
import { type LoggerService } from "@nestjs/common";
|
|
2
2
|
import { type Bindings } from "pino";
|
|
3
|
+
/**
|
|
4
|
+
* Request-scoped structured logger built on top of pino.
|
|
5
|
+
*
|
|
6
|
+
* @remarks
|
|
7
|
+
* Implements the NestJS {@link LoggerService} interface. Each request
|
|
8
|
+
* gets its own logger context via {@link RequestContext}, supporting
|
|
9
|
+
* request-scoped bindings and automatic context propagation.
|
|
10
|
+
*/
|
|
3
11
|
export declare class Logger implements LoggerService {
|
|
4
12
|
private parentClass;
|
|
13
|
+
/** Current logging context name. @internal */
|
|
5
14
|
private context?;
|
|
15
|
+
/** Fallback pino logger when no request context is active. @internal */
|
|
6
16
|
private globalLogger?;
|
|
17
|
+
/** Creates a new Logger instance.
|
|
18
|
+
* @param parentClass - The parent class that owns this logger instance
|
|
19
|
+
*/
|
|
7
20
|
constructor(parentClass: object);
|
|
21
|
+
/** Returns the current logger context name. */
|
|
8
22
|
getContext(): string | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* Sets the context name for this logger instance.
|
|
25
|
+
* @param context - The context name (typically the class name)
|
|
26
|
+
*/
|
|
9
27
|
setContext(context: string): void;
|
|
28
|
+
/**
|
|
29
|
+
* Logs a message at the `trace` level.
|
|
30
|
+
* @param message - Log message
|
|
31
|
+
* @param optionalParams - Additional structured data or context override
|
|
32
|
+
*/
|
|
10
33
|
verbose(message: string, ...optionalParams: unknown[]): void;
|
|
34
|
+
/**
|
|
35
|
+
* Logs a message at the `debug` level.
|
|
36
|
+
* @param message - Log message
|
|
37
|
+
* @param optionalParams - Additional structured data or context override
|
|
38
|
+
*/
|
|
11
39
|
debug(message: string, ...optionalParams: unknown[]): void;
|
|
40
|
+
/**
|
|
41
|
+
* Logs a message at the `info` level.
|
|
42
|
+
* @param message - Log message
|
|
43
|
+
* @param optionalParams - Additional structured data or context override
|
|
44
|
+
*/
|
|
12
45
|
log(message: string, ...optionalParams: unknown[]): void;
|
|
46
|
+
/**
|
|
47
|
+
* Logs a message at the `warn` level.
|
|
48
|
+
* @param message - Log message
|
|
49
|
+
* @param optionalParams - Additional structured data or context override
|
|
50
|
+
*/
|
|
13
51
|
warn(message: string, ...optionalParams: unknown[]): void;
|
|
52
|
+
/**
|
|
53
|
+
* Logs a message at the `error` level.
|
|
54
|
+
* @param message - Log message
|
|
55
|
+
* @param optionalParams - Additional structured data or context override
|
|
56
|
+
*/
|
|
14
57
|
error(message: string, ...optionalParams: unknown[]): void;
|
|
58
|
+
/**
|
|
59
|
+
* Merges additional bindings into the current request's log context.
|
|
60
|
+
* @param bindings - Key-value pairs to add to log output
|
|
61
|
+
*/
|
|
15
62
|
assign(bindings: Bindings): void;
|
|
63
|
+
/** Gets the current pino logger from request context or falls back to global. @internal */
|
|
16
64
|
private get pinoLogger();
|
|
65
|
+
/** Dispatches a log message at the given level. @internal */
|
|
17
66
|
private call;
|
|
18
67
|
}
|
package/dist/logger.js
CHANGED
|
@@ -21,38 +21,84 @@ const common_1 = require("@nestjs/common");
|
|
|
21
21
|
const core_1 = require("@nestjs/core");
|
|
22
22
|
const pino_1 = __importDefault(require("pino"));
|
|
23
23
|
const logger_module_definition_1 = require("./logger.module-definition");
|
|
24
|
+
/**
|
|
25
|
+
* Request-scoped structured logger built on top of pino.
|
|
26
|
+
*
|
|
27
|
+
* @remarks
|
|
28
|
+
* Implements the NestJS {@link LoggerService} interface. Each request
|
|
29
|
+
* gets its own logger context via {@link RequestContext}, supporting
|
|
30
|
+
* request-scoped bindings and automatic context propagation.
|
|
31
|
+
*/
|
|
24
32
|
let Logger = class Logger {
|
|
33
|
+
/** Creates a new Logger instance.
|
|
34
|
+
* @param parentClass - The parent class that owns this logger instance
|
|
35
|
+
*/
|
|
25
36
|
constructor(parentClass) {
|
|
26
37
|
this.parentClass = parentClass;
|
|
27
38
|
this.setContext(this.parentClass?.constructor?.name);
|
|
28
39
|
}
|
|
40
|
+
/** Returns the current logger context name. */
|
|
29
41
|
getContext() {
|
|
30
42
|
return this.context;
|
|
31
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Sets the context name for this logger instance.
|
|
46
|
+
* @param context - The context name (typically the class name)
|
|
47
|
+
*/
|
|
32
48
|
setContext(context) {
|
|
33
49
|
this.context = context;
|
|
34
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* Logs a message at the `trace` level.
|
|
53
|
+
* @param message - Log message
|
|
54
|
+
* @param optionalParams - Additional structured data or context override
|
|
55
|
+
*/
|
|
35
56
|
verbose(message, ...optionalParams) {
|
|
36
57
|
this.call("trace", message, ...optionalParams);
|
|
37
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* Logs a message at the `debug` level.
|
|
61
|
+
* @param message - Log message
|
|
62
|
+
* @param optionalParams - Additional structured data or context override
|
|
63
|
+
*/
|
|
38
64
|
debug(message, ...optionalParams) {
|
|
39
65
|
this.call("debug", message, ...optionalParams);
|
|
40
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* Logs a message at the `info` level.
|
|
69
|
+
* @param message - Log message
|
|
70
|
+
* @param optionalParams - Additional structured data or context override
|
|
71
|
+
*/
|
|
41
72
|
log(message, ...optionalParams) {
|
|
42
73
|
this.call("info", message, ...optionalParams);
|
|
43
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* Logs a message at the `warn` level.
|
|
77
|
+
* @param message - Log message
|
|
78
|
+
* @param optionalParams - Additional structured data or context override
|
|
79
|
+
*/
|
|
44
80
|
warn(message, ...optionalParams) {
|
|
45
81
|
this.call("warn", message, ...optionalParams);
|
|
46
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Logs a message at the `error` level.
|
|
85
|
+
* @param message - Log message
|
|
86
|
+
* @param optionalParams - Additional structured data or context override
|
|
87
|
+
*/
|
|
47
88
|
error(message, ...optionalParams) {
|
|
48
89
|
this.call("error", message, ...optionalParams);
|
|
49
90
|
}
|
|
91
|
+
/**
|
|
92
|
+
* Merges additional bindings into the current request's log context.
|
|
93
|
+
* @param bindings - Key-value pairs to add to log output
|
|
94
|
+
*/
|
|
50
95
|
assign(bindings) {
|
|
51
96
|
request_context_1.RequestContext.set(logger_module_definition_1.BINDINGS, {
|
|
52
97
|
...(request_context_1.RequestContext.get(logger_module_definition_1.BINDINGS) ?? {}),
|
|
53
98
|
...bindings,
|
|
54
99
|
});
|
|
55
100
|
}
|
|
101
|
+
/** Gets the current pino logger from request context or falls back to global. @internal */
|
|
56
102
|
get pinoLogger() {
|
|
57
103
|
let pinoLogger;
|
|
58
104
|
try {
|
|
@@ -66,6 +112,7 @@ let Logger = class Logger {
|
|
|
66
112
|
}
|
|
67
113
|
return pinoLogger;
|
|
68
114
|
}
|
|
115
|
+
/** Dispatches a log message at the given level. @internal */
|
|
69
116
|
call(level, message, ...optionalParams) {
|
|
70
117
|
let bindings = {};
|
|
71
118
|
try {
|
package/dist/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,gEAA4D;AAC5D,2CAA+E;AAC/E,uCAAwC;AACxC,gDAIc;AAEd,yEAAmE;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { type LoggerModuleOptions } from "./logger-module-options.interface";
|
|
2
2
|
export declare const PINO_LOGGER: unique symbol;
|
|
3
3
|
export declare const BINDINGS: unique symbol;
|
|
4
|
-
export declare const ConfigurableModuleClass: import("@nestjs/common").ConfigurableModuleCls<LoggerModuleOptions, "register", "create", {}>, MODULE_OPTIONS_TOKEN: string | symbol
|
|
4
|
+
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,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var _a;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
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_LOGGER = void 0;
|
|
5
5
|
const common_1 = require("@nestjs/common");
|
|
6
6
|
exports.PINO_LOGGER = Symbol("PINO_LOGGER");
|
|
7
7
|
exports.BINDINGS = Symbol("BINDINGS");
|
|
8
|
-
_a = new common_1.ConfigurableModuleBuilder().build(), exports.ConfigurableModuleClass = _a.ConfigurableModuleClass, exports.MODULE_OPTIONS_TOKEN = _a.MODULE_OPTIONS_TOKEN;
|
|
8
|
+
_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
9
|
//# 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,
|
|
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"}
|
package/dist/logger.module.d.ts
CHANGED
|
@@ -1,8 +1,31 @@
|
|
|
1
|
-
import { type OnModuleInit } from "@nestjs/common";
|
|
2
|
-
import { ConfigurableModuleClass } from "./logger.module-definition";
|
|
1
|
+
import { type DynamicModule, type OnModuleInit } from "@nestjs/common";
|
|
2
|
+
import { ASYNC_OPTIONS_TYPE, ConfigurableModuleClass, OPTIONS_TYPE } from "./logger.module-definition";
|
|
3
3
|
import { LoggerModuleOptions } from "./logger-module-options.interface";
|
|
4
|
+
/**
|
|
5
|
+
* Structured logging module powered by Pino.
|
|
6
|
+
*
|
|
7
|
+
* @remarks
|
|
8
|
+
* Provides request-scoped structured logging with automatic request correlation,
|
|
9
|
+
* HTTP logging via pino-http, and a global logging interceptor.
|
|
10
|
+
*/
|
|
4
11
|
export declare class LoggerModule extends ConfigurableModuleClass implements OnModuleInit {
|
|
5
12
|
private readonly options;
|
|
13
|
+
/**
|
|
14
|
+
* Registers the LoggerModule with the given options.
|
|
15
|
+
* @param options - Pino logger configuration options
|
|
16
|
+
* @returns Dynamic module configuration
|
|
17
|
+
*/
|
|
18
|
+
static register(options: typeof OPTIONS_TYPE): DynamicModule;
|
|
19
|
+
/**
|
|
20
|
+
* Registers the LoggerModule asynchronously with factory functions.
|
|
21
|
+
* @param options - Async configuration options
|
|
22
|
+
* @returns Dynamic module configuration
|
|
23
|
+
*/
|
|
24
|
+
static registerAsync(options: typeof ASYNC_OPTIONS_TYPE): DynamicModule;
|
|
25
|
+
/** Creates a new LoggerModule instance.
|
|
26
|
+
* @param options - Pino logger configuration options
|
|
27
|
+
*/
|
|
6
28
|
constructor(options?: LoggerModuleOptions);
|
|
29
|
+
/** Sets up the pino-http logger and registers it in the request context middleware. */
|
|
7
30
|
onModuleInit(): void;
|
|
8
31
|
}
|
package/dist/logger.module.js
CHANGED
|
@@ -25,7 +25,33 @@ const pino_http_1 = __importDefault(require("pino-http"));
|
|
|
25
25
|
const logger_1 = require("./logger");
|
|
26
26
|
const logger_interceptor_1 = require("./logger.interceptor");
|
|
27
27
|
const logger_module_definition_1 = require("./logger.module-definition");
|
|
28
|
+
/**
|
|
29
|
+
* Structured logging module powered by Pino.
|
|
30
|
+
*
|
|
31
|
+
* @remarks
|
|
32
|
+
* Provides request-scoped structured logging with automatic request correlation,
|
|
33
|
+
* HTTP logging via pino-http, and a global logging interceptor.
|
|
34
|
+
*/
|
|
28
35
|
let LoggerModule = class LoggerModule extends logger_module_definition_1.ConfigurableModuleClass {
|
|
36
|
+
/**
|
|
37
|
+
* Registers the LoggerModule with the given options.
|
|
38
|
+
* @param options - Pino logger configuration options
|
|
39
|
+
* @returns Dynamic module configuration
|
|
40
|
+
*/
|
|
41
|
+
static register(options) {
|
|
42
|
+
return super.register(options);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Registers the LoggerModule asynchronously with factory functions.
|
|
46
|
+
* @param options - Async configuration options
|
|
47
|
+
* @returns Dynamic module configuration
|
|
48
|
+
*/
|
|
49
|
+
static registerAsync(options) {
|
|
50
|
+
return super.registerAsync(options);
|
|
51
|
+
}
|
|
52
|
+
/** Creates a new LoggerModule instance.
|
|
53
|
+
* @param options - Pino logger configuration options
|
|
54
|
+
*/
|
|
29
55
|
constructor(options = {}) {
|
|
30
56
|
super();
|
|
31
57
|
this.options = options;
|
|
@@ -44,6 +70,7 @@ let LoggerModule = class LoggerModule extends logger_module_definition_1.Configu
|
|
|
44
70
|
...this.options,
|
|
45
71
|
};
|
|
46
72
|
}
|
|
73
|
+
/** Sets up the pino-http logger and registers it in the request context middleware. */
|
|
47
74
|
onModuleInit() {
|
|
48
75
|
const logger = (0, pino_1.default)();
|
|
49
76
|
const loggerMiddleware = (0, pino_http_1.default)(this.options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.module.js","sourceRoot":"","sources":["../src/logger.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,gEAKoC;AACpC,
|
|
1
|
+
{"version":3,"file":"logger.module.js","sourceRoot":"","sources":["../src/logger.module.ts"],"names":[],"mappings":"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"}
|