@nest-yalc-2/logger 1.0.0
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/LICENSE +661 -0
- package/README.md +9 -0
- package/package.json +29 -0
- package/src/__tests__/logger-console.service.spec.ts +136 -0
- package/src/__tests__/logger-nest.service.spec.ts +39 -0
- package/src/__tests__/logger-pino.service.spec.ts +149 -0
- package/src/__tests__/logger.factory.spec.ts +69 -0
- package/src/__tests__/logger.helper.spec.ts +54 -0
- package/src/__tests__/logger.service.spec.ts +78 -0
- package/src/__tests__/tsconfig.json +3 -0
- package/src/__tests__/typeorm-logger.spec.ts +111 -0
- package/src/index.d.ts +10 -0
- package/src/index.js +27 -0
- package/src/index.js.map +1 -0
- package/src/index.ts +10 -0
- package/src/logger-abstract.service.d.ts +65 -0
- package/src/logger-abstract.service.js +91 -0
- package/src/logger-abstract.service.js.map +1 -0
- package/src/logger-abstract.service.ts +210 -0
- package/src/logger-console.service.d.ts +5 -0
- package/src/logger-console.service.js +23 -0
- package/src/logger-console.service.js.map +1 -0
- package/src/logger-console.service.ts +80 -0
- package/src/logger-nest.service.d.ts +35 -0
- package/src/logger-nest.service.js +59 -0
- package/src/logger-nest.service.js.map +1 -0
- package/src/logger-nest.service.ts +151 -0
- package/src/logger-pino.service.d.ts +10 -0
- package/src/logger-pino.service.js +89 -0
- package/src/logger-pino.service.js.map +1 -0
- package/src/logger-pino.service.ts +161 -0
- package/src/logger.enum.d.ts +17 -0
- package/src/logger.enum.js +35 -0
- package/src/logger.enum.js.map +1 -0
- package/src/logger.enum.ts +32 -0
- package/src/logger.event.d.ts +11 -0
- package/src/logger.event.js +16 -0
- package/src/logger.event.js.map +1 -0
- package/src/logger.event.ts +11 -0
- package/src/logger.factory.d.ts +3 -0
- package/src/logger.factory.js +66 -0
- package/src/logger.factory.js.map +1 -0
- package/src/logger.factory.ts +70 -0
- package/src/logger.helper.d.ts +4 -0
- package/src/logger.helper.js +36 -0
- package/src/logger.helper.js.map +1 -0
- package/src/logger.helper.ts +40 -0
- package/src/logger.service.d.ts +3 -0
- package/src/logger.service.js +25 -0
- package/src/logger.service.js.map +1 -0
- package/src/logger.service.ts +41 -0
- package/src/typeorm-logger.d.ts +13 -0
- package/src/typeorm-logger.js +82 -0
- package/src/typeorm-logger.js.map +1 -0
- package/src/typeorm-logger.ts +125 -0
package/src/index.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./logger.enum.js"), exports);
|
|
18
|
+
__exportStar(require("./logger.event.js"), exports);
|
|
19
|
+
__exportStar(require("./logger.factory.js"), exports);
|
|
20
|
+
__exportStar(require("./typeorm-logger.js"), exports);
|
|
21
|
+
__exportStar(require("./logger.helper.js"), exports);
|
|
22
|
+
__exportStar(require("./logger-abstract.service.js"), exports);
|
|
23
|
+
__exportStar(require("./logger-nest.service.js"), exports);
|
|
24
|
+
__exportStar(require("./logger-console.service.js"), exports);
|
|
25
|
+
__exportStar(require("./logger.service.js"), exports);
|
|
26
|
+
__exportStar(require("./logger-pino.service.js"), exports);
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,oDAAkC;AAClC,sDAAoC;AACpC,sDAAoC;AACpC,qDAAmC;AACnC,+DAA6C;AAC7C,2DAAyC;AACzC,8DAA4C;AAC5C,sDAAoC;AACpC,2DAAyC"}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from './logger.enum.js';
|
|
2
|
+
export * from './logger.event.js';
|
|
3
|
+
export * from './logger.factory.js';
|
|
4
|
+
export * from './typeorm-logger.js';
|
|
5
|
+
export * from './logger.helper.js';
|
|
6
|
+
export * from './logger-abstract.service.js';
|
|
7
|
+
export * from './logger-nest.service.js';
|
|
8
|
+
export * from './logger-console.service.js';
|
|
9
|
+
export * from './logger.service.js';
|
|
10
|
+
export * from './logger-pino.service.js';
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { LoggerService, LogLevel } from '@nestjs/common';
|
|
2
|
+
import { type EventEmitter2 } from '@nestjs/event-emitter';
|
|
3
|
+
import { PluginSystem } from '@nest-yalc-2/utils/plugin.helper.js';
|
|
4
|
+
import { YalcGlobalClsService } from '../../app/src/cls.module.js';
|
|
5
|
+
export interface LogMethodOptions {
|
|
6
|
+
message?: any;
|
|
7
|
+
data?: any;
|
|
8
|
+
config?: any;
|
|
9
|
+
masks?: string[];
|
|
10
|
+
context?: string;
|
|
11
|
+
stack?: string;
|
|
12
|
+
event?: string | false;
|
|
13
|
+
}
|
|
14
|
+
export type LogMethod = (message: any, options?: LogMethodOptions) => void;
|
|
15
|
+
export type LogMethodError = (message: any, stack?: string, options?: LogMethodOptions) => void;
|
|
16
|
+
export interface ILoggerPluginMethods<TClsService = any> extends Record<string, {
|
|
17
|
+
(...args: any[]): void;
|
|
18
|
+
} | undefined> {
|
|
19
|
+
onBeforeLogging?: (message: any, options: LogMethodOptions, clsService: TClsService) => void;
|
|
20
|
+
}
|
|
21
|
+
export interface ImprovedLoggerService extends ImprovedLoggerServiceMethods, PluginSystem<ILoggerPluginMethods> {
|
|
22
|
+
}
|
|
23
|
+
export interface ImprovedLoggerServiceMethods extends LoggerService {
|
|
24
|
+
log: LogMethod;
|
|
25
|
+
error: LogMethodError;
|
|
26
|
+
warn: LogMethod;
|
|
27
|
+
debug?: LogMethod | undefined;
|
|
28
|
+
verbose?: LogMethod;
|
|
29
|
+
}
|
|
30
|
+
export declare const EVENT_LOG_DEFAULT = "EVENT_LOG_DEFAULT";
|
|
31
|
+
export interface IImprovedLoggerOptions {
|
|
32
|
+
event?: {
|
|
33
|
+
eventEmitter?: EventEmitter2 | false;
|
|
34
|
+
useFallbackEvent?: boolean;
|
|
35
|
+
} | false;
|
|
36
|
+
clsService?: YalcGlobalClsService;
|
|
37
|
+
overrideLoggerLevels?: LogLevel[];
|
|
38
|
+
}
|
|
39
|
+
declare const LoggerAbstractService_base: {
|
|
40
|
+
new (...args: any[]): {
|
|
41
|
+
[x: string]: any;
|
|
42
|
+
plugins: import("@nest-yalc-2/utils/plugin.helper.js").Plugin<ILoggerPluginMethods<any>>[];
|
|
43
|
+
registerPlugin(plugin: import("@nest-yalc-2/utils/plugin.helper.js").Plugin<ILoggerPluginMethods<any>>): void;
|
|
44
|
+
unregisterPlugin(plugin: import("@nest-yalc-2/utils/plugin.helper.js").Plugin<ILoggerPluginMethods<any>>): void;
|
|
45
|
+
invokePlugins(methodName: keyof ILoggerPluginMethods<any>, ...args: any[]): void;
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
export declare abstract class LoggerAbstractService extends LoggerAbstractService_base implements ImprovedLoggerService {
|
|
49
|
+
protected context: string;
|
|
50
|
+
protected logLevels: LogLevel[] | undefined;
|
|
51
|
+
protected methods: ImprovedLoggerServiceMethods;
|
|
52
|
+
protected options: IImprovedLoggerOptions;
|
|
53
|
+
readonly isImprovedLoggerService = true;
|
|
54
|
+
constructor(context: string, logLevels: LogLevel[] | undefined, methods: ImprovedLoggerServiceMethods, options?: IImprovedLoggerOptions);
|
|
55
|
+
setLogLevels(levels: LogLevel[]): void;
|
|
56
|
+
initializeLogger(): void;
|
|
57
|
+
log: LogMethod;
|
|
58
|
+
error: LogMethodError;
|
|
59
|
+
warn: LogMethod;
|
|
60
|
+
debug?: LogMethod | undefined;
|
|
61
|
+
verbose?: LogMethod;
|
|
62
|
+
beforeLogging(message: any, options: LogMethodOptions): void;
|
|
63
|
+
}
|
|
64
|
+
export declare function beforeLogging(message: any, options?: LogMethodOptions & IImprovedLoggerOptions['event']): void;
|
|
65
|
+
export {};
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LoggerAbstractService = exports.EVENT_LOG_DEFAULT = void 0;
|
|
4
|
+
exports.beforeLogging = beforeLogging;
|
|
5
|
+
const logger_enum_js_1 = require("./logger.enum.js");
|
|
6
|
+
const plugin_helper_js_1 = require("@nest-yalc-2/utils/plugin.helper.js");
|
|
7
|
+
exports.EVENT_LOG_DEFAULT = 'EVENT_LOG_DEFAULT';
|
|
8
|
+
class LoggerAbstractService extends (0, plugin_helper_js_1.WithPluginSystem)() {
|
|
9
|
+
constructor(context, logLevels, methods, options = {}) {
|
|
10
|
+
super();
|
|
11
|
+
this.context = context;
|
|
12
|
+
this.logLevels = logLevels;
|
|
13
|
+
this.methods = methods;
|
|
14
|
+
this.options = options;
|
|
15
|
+
this.isImprovedLoggerService = true;
|
|
16
|
+
this.initializeLogger();
|
|
17
|
+
}
|
|
18
|
+
setLogLevels(levels) {
|
|
19
|
+
this.logLevels = levels;
|
|
20
|
+
this.initializeLogger();
|
|
21
|
+
}
|
|
22
|
+
initializeLogger() {
|
|
23
|
+
const enabledLevels = {};
|
|
24
|
+
this.logLevels?.forEach((level) => {
|
|
25
|
+
if (!(level.toUpperCase() in logger_enum_js_1.LogLevelEnum))
|
|
26
|
+
throw new Error(`ERROR: Logger Level: ${level} is not supported!`);
|
|
27
|
+
enabledLevels[level] = true;
|
|
28
|
+
});
|
|
29
|
+
this.log = (message, options = {}) => {
|
|
30
|
+
void this.beforeLogging(message, options);
|
|
31
|
+
(enabledLevels[logger_enum_js_1.LogLevelEnum.LOG] === true &&
|
|
32
|
+
this.methods[logger_enum_js_1.LogLevelEnum.LOG]
|
|
33
|
+
? this.methods[logger_enum_js_1.LogLevelEnum.LOG]
|
|
34
|
+
: () => { })(message, options);
|
|
35
|
+
};
|
|
36
|
+
this.error = (message, stack, options = {}) => {
|
|
37
|
+
options.stack = stack;
|
|
38
|
+
void this.beforeLogging(message, options);
|
|
39
|
+
(enabledLevels[logger_enum_js_1.LogLevelEnum.ERROR] === true &&
|
|
40
|
+
this.methods[logger_enum_js_1.LogLevelEnum.ERROR]
|
|
41
|
+
? this.methods[logger_enum_js_1.LogLevelEnum.ERROR]
|
|
42
|
+
: () => { })(message, stack, options);
|
|
43
|
+
};
|
|
44
|
+
this.warn = (message, options = {}) => {
|
|
45
|
+
void this.beforeLogging(message, options);
|
|
46
|
+
(enabledLevels[logger_enum_js_1.LogLevelEnum.WARN] === true &&
|
|
47
|
+
this.methods[logger_enum_js_1.LogLevelEnum.WARN]
|
|
48
|
+
? this.methods[logger_enum_js_1.LogLevelEnum.WARN]
|
|
49
|
+
: () => { })(message, options);
|
|
50
|
+
};
|
|
51
|
+
if (enabledLevels[logger_enum_js_1.LogLevelEnum.DEBUG] === true &&
|
|
52
|
+
this.methods[logger_enum_js_1.LogLevelEnum.DEBUG])
|
|
53
|
+
this.debug = (message, options = {}) => {
|
|
54
|
+
void this.beforeLogging(message, options);
|
|
55
|
+
this.methods[logger_enum_js_1.LogLevelEnum.DEBUG](message, options);
|
|
56
|
+
};
|
|
57
|
+
if (enabledLevels[logger_enum_js_1.LogLevelEnum.VERBOSE] === true &&
|
|
58
|
+
this.methods[logger_enum_js_1.LogLevelEnum.VERBOSE])
|
|
59
|
+
this.verbose = (message, options = {}) => {
|
|
60
|
+
void this.beforeLogging(message, options);
|
|
61
|
+
this.methods[logger_enum_js_1.LogLevelEnum.VERBOSE](message, options);
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
beforeLogging(message, options) {
|
|
65
|
+
this.options.event = this.options.event ?? {};
|
|
66
|
+
this.invokePlugins('onBeforeLogging', message, options, this.options.clsService);
|
|
67
|
+
return beforeLogging(message, options);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
exports.LoggerAbstractService = LoggerAbstractService;
|
|
71
|
+
function beforeLogging(message, options = {}) {
|
|
72
|
+
const emitter = options && options.eventEmitter;
|
|
73
|
+
if (!emitter)
|
|
74
|
+
return;
|
|
75
|
+
const useFallbackEvent = (options && options.useFallbackEvent) ?? false;
|
|
76
|
+
const defaultEventName = useFallbackEvent ? exports.EVENT_LOG_DEFAULT : false;
|
|
77
|
+
const eventName = options.event ?? defaultEventName;
|
|
78
|
+
if (!eventName)
|
|
79
|
+
return;
|
|
80
|
+
const { event } = require('@nest-yalc-2/event-manager/event.js');
|
|
81
|
+
event(eventName, {
|
|
82
|
+
event: { emitter },
|
|
83
|
+
data: options?.data,
|
|
84
|
+
config: options?.config,
|
|
85
|
+
masks: options?.masks,
|
|
86
|
+
message,
|
|
87
|
+
logger: false,
|
|
88
|
+
stack: options?.stack,
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=logger-abstract.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger-abstract.service.js","sourceRoot":"","sources":["logger-abstract.service.ts"],"names":[],"mappings":";;;AA0LA,sCAuBC;AA/MD,qDAAgD;AAGhD,0EAG6C;AAuDhC,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AAiBrD,MAAsB,qBACpB,SAAQ,IAAA,mCAAgB,GAAwB;IAYhD,YACY,OAAe,EACf,SAAiC,EACjC,OAAqC,EACrC,UAAkC,EAAE;QAE9C,KAAK,EAAE,CAAC;QALE,YAAO,GAAP,OAAO,CAAQ;QACf,cAAS,GAAT,SAAS,CAAwB;QACjC,YAAO,GAAP,OAAO,CAA8B;QACrC,YAAO,GAAP,OAAO,CAA6B;QAbhC,4BAAuB,GAAG,IAAI,CAAC;QAiB7C,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,YAAY,CAAC,MAAkB;QAC7B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;QACxB,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,gBAAgB;QACd,MAAM,aAAa,GAA+B,EAAE,CAAC;QACrD,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAChC,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,6BAAY,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,oBAAoB,CAAC,CAAC;YAErE,aAAa,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,GAAG,CAAC,OAAY,EAAE,UAA4B,EAAE,EAAE,EAAE;YAC1D,KAAK,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC1C,CAAC,aAAa,CAAC,6BAAY,CAAC,GAAG,CAAC,KAAK,IAAI;gBACvC,IAAI,CAAC,OAAO,CAAC,6BAAY,CAAC,GAAG,CAAC;gBAC9B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,6BAAY,CAAC,GAAG,CAAC;gBAChC,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAClC,CAAC,CAAC;QAEF,IAAI,CAAC,KAAK,GAAG,CACX,OAAY,EACZ,KAAc,EACd,UAA4B,EAAE,EAC9B,EAAE;YACF,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;YACtB,KAAK,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAE1C,CAAC,aAAa,CAAC,6BAAY,CAAC,KAAK,CAAC,KAAK,IAAI;gBACzC,IAAI,CAAC,OAAO,CAAC,6BAAY,CAAC,KAAK,CAAC;gBAChC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,6BAAY,CAAC,KAAK,CAAC;gBAClC,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC,CAAC;QAEF,IAAI,CAAC,IAAI,GAAG,CAAC,OAAY,EAAE,UAA4B,EAAE,EAAE,EAAE;YAC3D,KAAK,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAE1C,CAAC,aAAa,CAAC,6BAAY,CAAC,IAAI,CAAC,KAAK,IAAI;gBACxC,IAAI,CAAC,OAAO,CAAC,6BAAY,CAAC,IAAI,CAAC;gBAC/B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,6BAAY,CAAC,IAAI,CAAC;gBACjC,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAClC,CAAC,CAAC;QAEF,IACE,aAAa,CAAC,6BAAY,CAAC,KAAK,CAAC,KAAK,IAAI;YAC1C,IAAI,CAAC,OAAO,CAAC,6BAAY,CAAC,KAAK,CAAC;YAEhC,IAAI,CAAC,KAAK,GAAG,CAAC,OAAY,EAAE,UAA4B,EAAE,EAAE,EAAE;gBAC5D,KAAK,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC1C,IAAI,CAAC,OAAO,CAAC,6BAAY,CAAC,KAAK,CAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACtD,CAAC,CAAC;QAEJ,IACE,aAAa,CAAC,6BAAY,CAAC,OAAO,CAAC,KAAK,IAAI;YAC5C,IAAI,CAAC,OAAO,CAAC,6BAAY,CAAC,OAAO,CAAC;YAElC,IAAI,CAAC,OAAO,GAAG,CAAC,OAAY,EAAE,UAA4B,EAAE,EAAE,EAAE;gBAC9D,KAAK,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC1C,IAAI,CAAC,OAAO,CAAC,6BAAY,CAAC,OAAO,CAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACxD,CAAC,CAAC;IACN,CAAC;IAQD,aAAa,CAAC,OAAY,EAAE,OAAyB;QACnD,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9C,IAAI,CAAC,aAAa,CAChB,iBAAiB,EACjB,OAAO,EACP,OAAO,EACP,IAAI,CAAC,OAAO,CAAC,UAAU,CACxB,CAAC;QACF,OAAO,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;CACF;AAxGD,sDAwGC;AAED,SAAgB,aAAa,CAC3B,OAAY,EACZ,UAA8D,EAAE;IAEhE,MAAM,OAAO,GAAG,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC;IAChD,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,MAAM,gBAAgB,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC;IACxE,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,CAAC,CAAC,yBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC;IACtE,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,gBAAgB,CAAC;IAEpD,IAAI,CAAC,SAAS;QAAE,OAAO;IAEvB,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,qCAAqC,CAAC,CAAC;IACjE,KAAK,CAAC,SAAS,EAAE;QACf,KAAK,EAAE,EAAE,OAAO,EAAE;QAClB,IAAI,EAAE,OAAO,EAAE,IAAI;QACnB,MAAM,EAAE,OAAO,EAAE,MAAM;QACvB,KAAK,EAAE,OAAO,EAAE,KAAK;QACrB,OAAO;QACP,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,OAAO,EAAE,KAAK;KACtB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
2
|
+
import { LoggerService, LogLevel } from '@nestjs/common';
|
|
3
|
+
import { LogLevelEnum } from './logger.enum.js';
|
|
4
|
+
import { type EventEmitter2 } from '@nestjs/event-emitter';
|
|
5
|
+
// Removed event import to break circular dependency
|
|
6
|
+
import {
|
|
7
|
+
PluginSystem,
|
|
8
|
+
WithPluginSystem,
|
|
9
|
+
} from '@nest-yalc-2/utils/plugin.helper.js';
|
|
10
|
+
import { YalcGlobalClsService } from '../../app/src/cls.module.js';
|
|
11
|
+
|
|
12
|
+
export interface LogMethodOptions {
|
|
13
|
+
message?: any;
|
|
14
|
+
/**
|
|
15
|
+
* The data is the place where you want to add the extra information
|
|
16
|
+
* that are not returned back as a response but they can be sent to the logger or the event emitter.
|
|
17
|
+
*/
|
|
18
|
+
data?: any;
|
|
19
|
+
/**
|
|
20
|
+
* This can be used to log the configuration values of the event.
|
|
21
|
+
* This might be helpful to filter the logs based on extra configuration values
|
|
22
|
+
* that are not the basic error level, statusCode etc.
|
|
23
|
+
*/
|
|
24
|
+
config?: any;
|
|
25
|
+
masks?: string[];
|
|
26
|
+
context?: string;
|
|
27
|
+
stack?: string;
|
|
28
|
+
/**
|
|
29
|
+
* If false, it will not trigger an event.
|
|
30
|
+
* If string, it will trigger an event with the string as the event name instead of the default event name.
|
|
31
|
+
*/
|
|
32
|
+
event?: string | false;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export type LogMethod = (message: any, options?: LogMethodOptions) => void;
|
|
36
|
+
export type LogMethodError = (
|
|
37
|
+
message: any,
|
|
38
|
+
stack?: string,
|
|
39
|
+
options?: LogMethodOptions,
|
|
40
|
+
) => void;
|
|
41
|
+
|
|
42
|
+
export interface ILoggerPluginMethods<TClsService = any> extends Record<
|
|
43
|
+
string,
|
|
44
|
+
{ (...args: any[]): void } | undefined
|
|
45
|
+
> {
|
|
46
|
+
onBeforeLogging?: (
|
|
47
|
+
message: any,
|
|
48
|
+
options: LogMethodOptions,
|
|
49
|
+
clsService: TClsService,
|
|
50
|
+
) => void;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export interface ImprovedLoggerService
|
|
54
|
+
extends ImprovedLoggerServiceMethods, PluginSystem<ILoggerPluginMethods> {}
|
|
55
|
+
|
|
56
|
+
export interface ImprovedLoggerServiceMethods extends LoggerService {
|
|
57
|
+
log: LogMethod;
|
|
58
|
+
error: LogMethodError;
|
|
59
|
+
warn: LogMethod;
|
|
60
|
+
debug?: LogMethod | undefined;
|
|
61
|
+
verbose?: LogMethod;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export const EVENT_LOG_DEFAULT = 'EVENT_LOG_DEFAULT';
|
|
65
|
+
|
|
66
|
+
export interface IImprovedLoggerOptions {
|
|
67
|
+
event?:
|
|
68
|
+
| {
|
|
69
|
+
eventEmitter?: EventEmitter2 | false;
|
|
70
|
+
/**
|
|
71
|
+
* if set to true, it trigger an event with the name of EVENT_LOG_DEFAULT even
|
|
72
|
+
* if we didn't specified the event name
|
|
73
|
+
*/
|
|
74
|
+
useFallbackEvent?: boolean;
|
|
75
|
+
}
|
|
76
|
+
| false;
|
|
77
|
+
clsService?: YalcGlobalClsService;
|
|
78
|
+
overrideLoggerLevels?: LogLevel[];
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export abstract class LoggerAbstractService
|
|
82
|
+
extends WithPluginSystem<ILoggerPluginMethods>()
|
|
83
|
+
implements ImprovedLoggerService
|
|
84
|
+
{
|
|
85
|
+
public readonly isImprovedLoggerService = true;
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* This constructor override its empty method based on passed
|
|
89
|
+
* logLevels and this.methods
|
|
90
|
+
*
|
|
91
|
+
* @param logLevels
|
|
92
|
+
* @param this.methods
|
|
93
|
+
*/
|
|
94
|
+
constructor(
|
|
95
|
+
protected context: string,
|
|
96
|
+
protected logLevels: LogLevel[] | undefined,
|
|
97
|
+
protected methods: ImprovedLoggerServiceMethods,
|
|
98
|
+
protected options: IImprovedLoggerOptions = {},
|
|
99
|
+
) {
|
|
100
|
+
super();
|
|
101
|
+
|
|
102
|
+
this.initializeLogger();
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
setLogLevels(levels: LogLevel[]) {
|
|
106
|
+
this.logLevels = levels;
|
|
107
|
+
this.initializeLogger();
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
initializeLogger() {
|
|
111
|
+
const enabledLevels: { [key: string]: boolean } = {};
|
|
112
|
+
this.logLevels?.forEach((level) => {
|
|
113
|
+
if (!(level.toUpperCase() in LogLevelEnum))
|
|
114
|
+
throw new Error(`ERROR: Logger Level: ${level} is not supported!`);
|
|
115
|
+
|
|
116
|
+
enabledLevels[level] = true;
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
this.log = (message: any, options: LogMethodOptions = {}) => {
|
|
120
|
+
void this.beforeLogging(message, options);
|
|
121
|
+
(enabledLevels[LogLevelEnum.LOG] === true &&
|
|
122
|
+
this.methods[LogLevelEnum.LOG]
|
|
123
|
+
? this.methods[LogLevelEnum.LOG]
|
|
124
|
+
: () => {})(message, options);
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
this.error = (
|
|
128
|
+
message: any,
|
|
129
|
+
stack?: string,
|
|
130
|
+
options: LogMethodOptions = {},
|
|
131
|
+
) => {
|
|
132
|
+
options.stack = stack;
|
|
133
|
+
void this.beforeLogging(message, options);
|
|
134
|
+
|
|
135
|
+
(enabledLevels[LogLevelEnum.ERROR] === true &&
|
|
136
|
+
this.methods[LogLevelEnum.ERROR]
|
|
137
|
+
? this.methods[LogLevelEnum.ERROR]
|
|
138
|
+
: () => {})(message, stack, options);
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
this.warn = (message: any, options: LogMethodOptions = {}) => {
|
|
142
|
+
void this.beforeLogging(message, options);
|
|
143
|
+
|
|
144
|
+
(enabledLevels[LogLevelEnum.WARN] === true &&
|
|
145
|
+
this.methods[LogLevelEnum.WARN]
|
|
146
|
+
? this.methods[LogLevelEnum.WARN]
|
|
147
|
+
: () => {})(message, options);
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
if (
|
|
151
|
+
enabledLevels[LogLevelEnum.DEBUG] === true &&
|
|
152
|
+
this.methods[LogLevelEnum.DEBUG]
|
|
153
|
+
)
|
|
154
|
+
this.debug = (message: any, options: LogMethodOptions = {}) => {
|
|
155
|
+
void this.beforeLogging(message, options);
|
|
156
|
+
this.methods[LogLevelEnum.DEBUG]!(message, options);
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
if (
|
|
160
|
+
enabledLevels[LogLevelEnum.VERBOSE] === true &&
|
|
161
|
+
this.methods[LogLevelEnum.VERBOSE]
|
|
162
|
+
)
|
|
163
|
+
this.verbose = (message: any, options: LogMethodOptions = {}) => {
|
|
164
|
+
void this.beforeLogging(message, options);
|
|
165
|
+
this.methods[LogLevelEnum.VERBOSE]!(message, options);
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
log!: LogMethod;
|
|
170
|
+
error!: LogMethodError;
|
|
171
|
+
warn!: LogMethod;
|
|
172
|
+
debug?: LogMethod | undefined;
|
|
173
|
+
verbose?: LogMethod;
|
|
174
|
+
|
|
175
|
+
beforeLogging(message: any, options: LogMethodOptions) {
|
|
176
|
+
this.options.event = this.options.event ?? {};
|
|
177
|
+
this.invokePlugins(
|
|
178
|
+
'onBeforeLogging',
|
|
179
|
+
message,
|
|
180
|
+
options,
|
|
181
|
+
this.options.clsService,
|
|
182
|
+
);
|
|
183
|
+
return beforeLogging(message, options);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
export function beforeLogging(
|
|
188
|
+
message: any,
|
|
189
|
+
options: LogMethodOptions & IImprovedLoggerOptions['event'] = {},
|
|
190
|
+
) {
|
|
191
|
+
const emitter = options && options.eventEmitter;
|
|
192
|
+
if (!emitter) return;
|
|
193
|
+
|
|
194
|
+
const useFallbackEvent = (options && options.useFallbackEvent) ?? false;
|
|
195
|
+
const defaultEventName = useFallbackEvent ? EVENT_LOG_DEFAULT : false;
|
|
196
|
+
const eventName = options.event ?? defaultEventName;
|
|
197
|
+
|
|
198
|
+
if (!eventName) return;
|
|
199
|
+
|
|
200
|
+
const { event } = require('@nest-yalc-2/event-manager/event.js');
|
|
201
|
+
event(eventName, {
|
|
202
|
+
event: { emitter },
|
|
203
|
+
data: options?.data,
|
|
204
|
+
config: options?.config,
|
|
205
|
+
masks: options?.masks,
|
|
206
|
+
message,
|
|
207
|
+
logger: false,
|
|
208
|
+
stack: options?.stack,
|
|
209
|
+
});
|
|
210
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { LogLevel } from '@nestjs/common';
|
|
2
|
+
import { IImprovedLoggerOptions, LoggerAbstractService } from './logger-abstract.service.js';
|
|
3
|
+
export declare class ConsoleLogger extends LoggerAbstractService {
|
|
4
|
+
constructor(context: string, logLevels: LogLevel[] | undefined, options?: IImprovedLoggerOptions);
|
|
5
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ConsoleLogger = void 0;
|
|
4
|
+
const logger_abstract_service_js_1 = require("./logger-abstract.service.js");
|
|
5
|
+
const logger_helper_js_1 = require("./logger.helper.js");
|
|
6
|
+
const logOnlyDefined = (...args) => {
|
|
7
|
+
return args.filter(function (element) {
|
|
8
|
+
return element !== undefined;
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
class ConsoleLogger extends logger_abstract_service_js_1.LoggerAbstractService {
|
|
12
|
+
constructor(context, logLevels, options = {}) {
|
|
13
|
+
super(context, logLevels, {
|
|
14
|
+
log: (message, options, ...rest) => console.log(...logOnlyDefined(`[${options?.context ?? context}]`, message, (0, logger_helper_js_1.maskDataInObject)(options?.data, options?.masks, options?.stack), options?.config, ...rest)),
|
|
15
|
+
error: (message, trace, options, ...rest) => console.error(...logOnlyDefined(`[${options?.context ?? context}]`, message, trace, (0, logger_helper_js_1.maskDataInObject)(options?.data, options?.masks), options?.config, ...rest)),
|
|
16
|
+
debug: (message, options, ...rest) => console.debug(...logOnlyDefined(`[${options?.context ?? context}]`, message, (0, logger_helper_js_1.maskDataInObject)(options?.data, options?.masks, options?.stack), options?.config, ...rest)),
|
|
17
|
+
warn: (message, options, ...rest) => console.warn(...logOnlyDefined(`[${options?.context ?? context}]`, message, (0, logger_helper_js_1.maskDataInObject)(options?.data, options?.masks, options?.stack), options?.config, ...rest)),
|
|
18
|
+
verbose: (message, options, ...rest) => console.info(...logOnlyDefined(`[${options?.context ?? context}]`, message, (0, logger_helper_js_1.maskDataInObject)(options?.data, options?.masks, options?.stack), options?.config, ...rest)),
|
|
19
|
+
}, options);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.ConsoleLogger = ConsoleLogger;
|
|
23
|
+
//# sourceMappingURL=logger-console.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger-console.service.js","sourceRoot":"","sources":["logger-console.service.ts"],"names":[],"mappings":";;;AAEA,6EAGsC;AACtC,yDAAsD;AAEtD,MAAM,cAAc,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;IACxC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,OAAO;QAClC,OAAO,OAAO,KAAK,SAAS,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAa,aAAc,SAAQ,kDAAqB;IACtD,YACE,OAAe,EACf,SAAiC,EACjC,UAAkC,EAAE;QAEpC,KAAK,CACH,OAAO,EACP,SAAS,EACT;YACE,GAAG,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,CACjC,OAAO,CAAC,GAAG,CACT,GAAG,cAAc,CACf,IAAI,OAAO,EAAE,OAAO,IAAI,OAAO,GAAG,EAClC,OAAO,EACP,IAAA,mCAAgB,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,EAC/D,OAAO,EAAE,MAAM,EACf,GAAG,IAAI,CACR,CACF;YACH,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,CAC1C,OAAO,CAAC,KAAK,CACX,GAAG,cAAc,CACf,IAAI,OAAO,EAAE,OAAO,IAAI,OAAO,GAAG,EAClC,OAAO,EACP,KAAK,EACL,IAAA,mCAAgB,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,EAC/C,OAAO,EAAE,MAAM,EACf,GAAG,IAAI,CACR,CACF;YACH,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,CACnC,OAAO,CAAC,KAAK,CACX,GAAG,cAAc,CACf,IAAI,OAAO,EAAE,OAAO,IAAI,OAAO,GAAG,EAClC,OAAO,EACP,IAAA,mCAAgB,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,EAC/D,OAAO,EAAE,MAAM,EACf,GAAG,IAAI,CACR,CACF;YACH,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,CAClC,OAAO,CAAC,IAAI,CACV,GAAG,cAAc,CACf,IAAI,OAAO,EAAE,OAAO,IAAI,OAAO,GAAG,EAClC,OAAO,EACP,IAAA,mCAAgB,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,EAC/D,OAAO,EAAE,MAAM,EACf,GAAG,IAAI,CACR,CACF;YACH,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,CACrC,OAAO,CAAC,IAAI,CACV,GAAG,cAAc,CACf,IAAI,OAAO,EAAE,OAAO,IAAI,OAAO,GAAG,EAClC,OAAO,EACP,IAAA,mCAAgB,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,EAC/D,OAAO,EAAE,MAAM,EACf,GAAG,IAAI,CACR,CACF;SACJ,EACD,OAAO,CACR,CAAC;IACJ,CAAC;CACF;AAjED,sCAiEC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/* eslint-disable no-console */
|
|
2
|
+
import { LogLevel } from '@nestjs/common';
|
|
3
|
+
import {
|
|
4
|
+
IImprovedLoggerOptions,
|
|
5
|
+
LoggerAbstractService,
|
|
6
|
+
} from './logger-abstract.service.js';
|
|
7
|
+
import { maskDataInObject } from './logger.helper.js';
|
|
8
|
+
|
|
9
|
+
const logOnlyDefined = (...args: any[]) => {
|
|
10
|
+
return args.filter(function (element) {
|
|
11
|
+
return element !== undefined;
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export class ConsoleLogger extends LoggerAbstractService {
|
|
16
|
+
constructor(
|
|
17
|
+
context: string,
|
|
18
|
+
logLevels: LogLevel[] | undefined,
|
|
19
|
+
options: IImprovedLoggerOptions = {},
|
|
20
|
+
) {
|
|
21
|
+
super(
|
|
22
|
+
context,
|
|
23
|
+
logLevels,
|
|
24
|
+
{
|
|
25
|
+
log: (message, options, ...rest) =>
|
|
26
|
+
console.log(
|
|
27
|
+
...logOnlyDefined(
|
|
28
|
+
`[${options?.context ?? context}]`,
|
|
29
|
+
message,
|
|
30
|
+
maskDataInObject(options?.data, options?.masks, options?.stack),
|
|
31
|
+
options?.config,
|
|
32
|
+
...rest,
|
|
33
|
+
),
|
|
34
|
+
),
|
|
35
|
+
error: (message, trace, options, ...rest) =>
|
|
36
|
+
console.error(
|
|
37
|
+
...logOnlyDefined(
|
|
38
|
+
`[${options?.context ?? context}]`,
|
|
39
|
+
message,
|
|
40
|
+
trace,
|
|
41
|
+
maskDataInObject(options?.data, options?.masks),
|
|
42
|
+
options?.config,
|
|
43
|
+
...rest,
|
|
44
|
+
),
|
|
45
|
+
),
|
|
46
|
+
debug: (message, options, ...rest) =>
|
|
47
|
+
console.debug(
|
|
48
|
+
...logOnlyDefined(
|
|
49
|
+
`[${options?.context ?? context}]`,
|
|
50
|
+
message,
|
|
51
|
+
maskDataInObject(options?.data, options?.masks, options?.stack),
|
|
52
|
+
options?.config,
|
|
53
|
+
...rest,
|
|
54
|
+
),
|
|
55
|
+
),
|
|
56
|
+
warn: (message, options, ...rest) =>
|
|
57
|
+
console.warn(
|
|
58
|
+
...logOnlyDefined(
|
|
59
|
+
`[${options?.context ?? context}]`,
|
|
60
|
+
message,
|
|
61
|
+
maskDataInObject(options?.data, options?.masks, options?.stack),
|
|
62
|
+
options?.config,
|
|
63
|
+
...rest,
|
|
64
|
+
),
|
|
65
|
+
),
|
|
66
|
+
verbose: (message, options, ...rest) =>
|
|
67
|
+
console.info(
|
|
68
|
+
...logOnlyDefined(
|
|
69
|
+
`[${options?.context ?? context}]`,
|
|
70
|
+
message,
|
|
71
|
+
maskDataInObject(options?.data, options?.masks, options?.stack),
|
|
72
|
+
options?.config,
|
|
73
|
+
...rest,
|
|
74
|
+
),
|
|
75
|
+
),
|
|
76
|
+
},
|
|
77
|
+
options,
|
|
78
|
+
);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { ConsoleLoggerOptions } from '@nestjs/common';
|
|
2
|
+
import { IImprovedLoggerOptions, ILoggerPluginMethods, ImprovedLoggerService, LogMethodOptions } from './logger-abstract.service.js';
|
|
3
|
+
declare const ImprovedNestLogger_base: {
|
|
4
|
+
new (...args: any[]): {
|
|
5
|
+
[x: string]: any;
|
|
6
|
+
plugins: import("@nest-yalc-2/utils/plugin.helper.js").Plugin<ILoggerPluginMethods<any>>[];
|
|
7
|
+
registerPlugin(plugin: import("@nest-yalc-2/utils/plugin.helper.js").Plugin<ILoggerPluginMethods<any>>): void;
|
|
8
|
+
unregisterPlugin(plugin: import("@nest-yalc-2/utils/plugin.helper.js").Plugin<ILoggerPluginMethods<any>>): void;
|
|
9
|
+
invokePlugins(methodName: keyof ILoggerPluginMethods<any>, ...args: any[]): void;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
export declare class ImprovedNestLogger extends ImprovedNestLogger_base implements ImprovedLoggerService {
|
|
13
|
+
protected _options: IImprovedLoggerOptions;
|
|
14
|
+
readonly isImprovedLoggerService = true;
|
|
15
|
+
constructor(context: string, options: ConsoleLoggerOptions, _options?: IImprovedLoggerOptions);
|
|
16
|
+
private getOptions;
|
|
17
|
+
private composeMessage;
|
|
18
|
+
log(message: any): void;
|
|
19
|
+
log(message: any, options: LogMethodOptions): void;
|
|
20
|
+
log(message: any, ...optionalParams: any[]): void;
|
|
21
|
+
error(message: any, stack?: string | undefined): void;
|
|
22
|
+
error(message: any, stack: string | undefined, options: LogMethodOptions): void;
|
|
23
|
+
error(message: any, ...optionalParams: any[]): void;
|
|
24
|
+
debug(message: any): void;
|
|
25
|
+
debug(message: any, options: LogMethodOptions): void;
|
|
26
|
+
debug(message: any, ...optionalParams: any[]): void;
|
|
27
|
+
verbose(message: any): void;
|
|
28
|
+
verbose(message: any, options: LogMethodOptions): void;
|
|
29
|
+
verbose(message: any, ...optionalParams: any[]): void;
|
|
30
|
+
warn(message: any): void;
|
|
31
|
+
warn(message: any, options: LogMethodOptions): void;
|
|
32
|
+
warn(message: any, ...optionalParams: any[]): void;
|
|
33
|
+
beforeLogging(message: any, options: LogMethodOptions): void;
|
|
34
|
+
}
|
|
35
|
+
export {};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ImprovedNestLogger = void 0;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
const logger_abstract_service_js_1 = require("./logger-abstract.service.js");
|
|
6
|
+
const logger_helper_js_1 = require("./logger.helper.js");
|
|
7
|
+
const plugin_helper_js_1 = require("@nest-yalc-2/utils/plugin.helper.js");
|
|
8
|
+
class ImprovedNestLogger extends (0, plugin_helper_js_1.WithPluginSystem)(common_1.ConsoleLogger) {
|
|
9
|
+
constructor(context, options, _options = {}) {
|
|
10
|
+
super(context, options);
|
|
11
|
+
this._options = _options;
|
|
12
|
+
this.isImprovedLoggerService = true;
|
|
13
|
+
}
|
|
14
|
+
getOptions(options) {
|
|
15
|
+
return typeof options === 'string' ? { message: options } : options;
|
|
16
|
+
}
|
|
17
|
+
composeMessage(message, options) {
|
|
18
|
+
const data = {
|
|
19
|
+
...(0, logger_helper_js_1.maskDataInObject)(options.data, options.masks, options.stack),
|
|
20
|
+
config: options.config,
|
|
21
|
+
};
|
|
22
|
+
return ((typeof message === 'string'
|
|
23
|
+
? message
|
|
24
|
+
: JSON.stringify(message, null, 2)) +
|
|
25
|
+
(data ? `\n${JSON.stringify(data, null, 2)}` : ''));
|
|
26
|
+
}
|
|
27
|
+
log(message, options = {}, ...rest) {
|
|
28
|
+
const _options = this.getOptions(options);
|
|
29
|
+
this.beforeLogging(message, _options);
|
|
30
|
+
super.log(this.composeMessage(message, _options), _options.context ?? this.context, ...rest);
|
|
31
|
+
}
|
|
32
|
+
error(message, stack, options = {}, ...rest) {
|
|
33
|
+
const _options = this.getOptions(options);
|
|
34
|
+
this.beforeLogging(message, _options);
|
|
35
|
+
super.error(this.composeMessage(message, _options), stack, _options.context ?? this.context, ...rest);
|
|
36
|
+
}
|
|
37
|
+
debug(message, options = {}, ...rest) {
|
|
38
|
+
const _options = this.getOptions(options);
|
|
39
|
+
this.beforeLogging(message, _options);
|
|
40
|
+
super.debug(this.composeMessage(message, _options), _options.context ?? this.context, ...rest);
|
|
41
|
+
}
|
|
42
|
+
verbose(message, options = {}, ...rest) {
|
|
43
|
+
const _options = this.getOptions(options);
|
|
44
|
+
this.beforeLogging(message, _options);
|
|
45
|
+
super.verbose(this.composeMessage(message, _options), _options.context ?? this.context, ...rest);
|
|
46
|
+
}
|
|
47
|
+
warn(message, options = {}, ...rest) {
|
|
48
|
+
const _options = this.getOptions(options);
|
|
49
|
+
this.beforeLogging(message, _options);
|
|
50
|
+
super.warn(this.composeMessage(message, _options), _options.context ?? this.context, ...rest);
|
|
51
|
+
}
|
|
52
|
+
beforeLogging(message, options) {
|
|
53
|
+
this.options.event = this.options.event ?? {};
|
|
54
|
+
this.invokePlugins('onBeforeLogging', message, options, this._options.clsService);
|
|
55
|
+
void (0, logger_abstract_service_js_1.beforeLogging)(message, options);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
exports.ImprovedNestLogger = ImprovedNestLogger;
|
|
59
|
+
//# sourceMappingURL=logger-nest.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger-nest.service.js","sourceRoot":"","sources":["logger-nest.service.ts"],"names":[],"mappings":"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"}
|