@gennext/lb-infra 0.0.12 → 0.1.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/README.md +63 -89
- package/dist/base/base.helper.d.ts +4 -2
- package/dist/base/base.helper.d.ts.map +1 -1
- package/dist/base/base.helper.js +8 -2
- package/dist/base/base.helper.js.map +1 -1
- package/dist/base/datasources/base.datasource.d.ts +2 -2
- package/dist/base/datasources/base.datasource.d.ts.map +1 -1
- package/dist/base/datasources/base.datasource.js.map +1 -1
- package/dist/base/models/base.model.d.ts +10 -0
- package/dist/base/models/base.model.d.ts.map +1 -1
- package/dist/base/models/base.model.js +10 -3
- package/dist/base/models/base.model.js.map +1 -1
- package/dist/datasources/redis/connector.d.ts +1 -1
- package/dist/datasources/redis/connector.d.ts.map +1 -1
- package/dist/datasources/redis/connector.js +8 -4
- package/dist/datasources/redis/connector.js.map +1 -1
- package/dist/datasources/redis/types.d.ts +1 -1
- package/dist/datasources/redis/types.d.ts.map +1 -1
- package/dist/helpers/logger/application-logger.d.ts +0 -3
- package/dist/helpers/logger/application-logger.d.ts.map +1 -1
- package/dist/helpers/logger/application-logger.js +7 -31
- package/dist/helpers/logger/application-logger.js.map +1 -1
- package/dist/helpers/logger/common/types.d.ts +0 -7
- package/dist/helpers/logger/common/types.d.ts.map +1 -1
- package/dist/helpers/logger/common/types.js +1 -10
- package/dist/helpers/logger/common/types.js.map +1 -1
- package/dist/helpers/logger/config-merger.d.ts +27 -0
- package/dist/helpers/logger/config-merger.d.ts.map +1 -0
- package/dist/helpers/logger/config-merger.js +55 -0
- package/dist/helpers/logger/config-merger.js.map +1 -0
- package/dist/helpers/logger/config.d.ts +9 -11
- package/dist/helpers/logger/config.d.ts.map +1 -1
- package/dist/helpers/logger/config.js +18 -30
- package/dist/helpers/logger/config.js.map +1 -1
- package/dist/helpers/logger/default-logger.d.ts.map +1 -1
- package/dist/helpers/logger/default-logger.js +3 -5
- package/dist/helpers/logger/default-logger.js.map +1 -1
- package/dist/helpers/logger/enhanced-factory.d.ts +3 -3
- package/dist/helpers/logger/enhanced-factory.d.ts.map +1 -1
- package/dist/helpers/logger/enhanced-factory.js +10 -7
- package/dist/helpers/logger/enhanced-factory.js.map +1 -1
- package/dist/helpers/logger/factory.d.ts +1 -37
- package/dist/helpers/logger/factory.d.ts.map +1 -1
- package/dist/helpers/logger/factory.js +11 -86
- package/dist/helpers/logger/factory.js.map +1 -1
- package/dist/helpers/logger/http/access-logger.d.ts +14 -5
- package/dist/helpers/logger/http/access-logger.d.ts.map +1 -1
- package/dist/helpers/logger/http/access-logger.js +186 -157
- package/dist/helpers/logger/http/access-logger.js.map +1 -1
- package/dist/helpers/logger/http/index.d.ts +1 -1
- package/dist/helpers/logger/http/index.d.ts.map +1 -1
- package/dist/helpers/logger/http/index.js +1 -1
- package/dist/helpers/logger/http/index.js.map +1 -1
- package/dist/helpers/logger/http/request-context.d.ts +10 -6
- package/dist/helpers/logger/http/request-context.d.ts.map +1 -1
- package/dist/helpers/logger/http/request-context.js +32 -22
- package/dist/helpers/logger/http/request-context.js.map +1 -1
- package/dist/helpers/logger/http/request-id-manager.d.ts +13 -8
- package/dist/helpers/logger/http/request-id-manager.d.ts.map +1 -1
- package/dist/helpers/logger/http/request-id-manager.js +24 -70
- package/dist/helpers/logger/http/request-id-manager.js.map +1 -1
- package/dist/helpers/logger/http/types.d.ts +3 -3
- package/dist/helpers/logger/http/types.d.ts.map +1 -1
- package/dist/helpers/logger/index.d.ts +4 -3
- package/dist/helpers/logger/index.d.ts.map +1 -1
- package/dist/helpers/logger/index.js +4 -3
- package/dist/helpers/logger/index.js.map +1 -1
- package/dist/helpers/logger/transports/dgram.transport.d.ts +0 -1
- package/dist/helpers/logger/transports/dgram.transport.d.ts.map +1 -1
- package/dist/helpers/logger/transports/dgram.transport.js +2 -2
- package/dist/helpers/logger/transports/dgram.transport.js.map +1 -1
- package/dist/helpers/redis/default.helper.d.ts.map +1 -1
- package/dist/helpers/redis/default.helper.js +19 -17
- package/dist/helpers/redis/default.helper.js.map +1 -1
- package/dist/helpers/redis/index.d.ts.map +1 -1
- package/dist/helpers/redis/index.js.map +1 -1
- package/dist/helpers/redis/redis-cluster.helper.js +2 -2
- package/dist/helpers/redis/redis-cluster.helper.js.map +1 -1
- package/dist/helpers/redis/redis.helper.d.ts +34 -0
- package/dist/helpers/redis/redis.helper.d.ts.map +1 -1
- package/dist/helpers/redis/redis.helper.js +34 -0
- package/dist/helpers/redis/redis.helper.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/utilities/crypto.utility.d.ts +28 -0
- package/dist/utilities/crypto.utility.d.ts.map +1 -1
- package/dist/utilities/crypto.utility.js +28 -0
- package/dist/utilities/crypto.utility.js.map +1 -1
- package/dist/utilities/date.utility.d.ts +57 -0
- package/dist/utilities/date.utility.d.ts.map +1 -1
- package/dist/utilities/date.utility.js +58 -16
- package/dist/utilities/date.utility.js.map +1 -1
- package/dist/utilities/error.utility.d.ts +63 -0
- package/dist/utilities/error.utility.d.ts.map +1 -1
- package/dist/utilities/error.utility.js +82 -4
- package/dist/utilities/error.utility.js.map +1 -1
- package/dist/utilities/lodash.utility.d.ts +1 -0
- package/dist/utilities/lodash.utility.d.ts.map +1 -1
- package/dist/utilities/lodash.utility.js +3 -1
- package/dist/utilities/lodash.utility.js.map +1 -1
- package/dist/utilities/model.utility.d.ts +15 -0
- package/dist/utilities/model.utility.d.ts.map +1 -1
- package/dist/utilities/model.utility.js +15 -2
- package/dist/utilities/model.utility.js.map +1 -1
- package/dist/utilities/module.utility.d.ts +8 -0
- package/dist/utilities/module.utility.d.ts.map +1 -1
- package/dist/utilities/module.utility.js +10 -2
- package/dist/utilities/module.utility.js.map +1 -1
- package/dist/utilities/parse.utility.d.ts +59 -0
- package/dist/utilities/parse.utility.d.ts.map +1 -1
- package/dist/utilities/parse.utility.js +76 -15
- package/dist/utilities/parse.utility.js.map +1 -1
- package/dist/utilities/performance.utility.d.ts +13 -0
- package/dist/utilities/performance.utility.d.ts.map +1 -1
- package/dist/utilities/performance.utility.js +15 -2
- package/dist/utilities/performance.utility.js.map +1 -1
- package/dist/utilities/promise.utility.d.ts +18 -18
- package/dist/utilities/promise.utility.d.ts.map +1 -1
- package/dist/utilities/promise.utility.js +16 -17
- package/dist/utilities/promise.utility.js.map +1 -1
- package/dist/utilities/query.utility.d.ts +24 -3
- package/dist/utilities/query.utility.d.ts.map +1 -1
- package/dist/utilities/query.utility.js +29 -7
- package/dist/utilities/query.utility.js.map +1 -1
- package/dist/utilities/request.utility.d.ts +36 -3
- package/dist/utilities/request.utility.d.ts.map +1 -1
- package/dist/utilities/request.utility.js +38 -8
- package/dist/utilities/request.utility.js.map +1 -1
- package/dist/utilities/url.utility.d.ts +16 -0
- package/dist/utilities/url.utility.d.ts.map +1 -1
- package/dist/utilities/url.utility.js +16 -0
- package/dist/utilities/url.utility.js.map +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ILoggerFactoryConfig } from './config';
|
|
2
|
+
import { IEnhancedLoggerOptions } from './http/types';
|
|
3
|
+
/**
|
|
4
|
+
* Centralized logger configuration merger utility
|
|
5
|
+
* Consolidates configuration merging logic to avoid duplication
|
|
6
|
+
*
|
|
7
|
+
* @class LoggerConfigMerger
|
|
8
|
+
* @example
|
|
9
|
+
* const merged = LoggerConfigMerger.mergeLoggerOptions(userOptions, factoryConfig);
|
|
10
|
+
*/
|
|
11
|
+
export declare class LoggerConfigMerger {
|
|
12
|
+
/**
|
|
13
|
+
* Merges provided logger options with factory defaults
|
|
14
|
+
* @param providedOptions - User-provided options (optional)
|
|
15
|
+
* @param config - Current factory configuration
|
|
16
|
+
* @returns Merged options with defaults applied
|
|
17
|
+
*/
|
|
18
|
+
static mergeLoggerOptions(providedOptions: Partial<IEnhancedLoggerOptions> | undefined, config: ILoggerFactoryConfig): IEnhancedLoggerOptions;
|
|
19
|
+
/**
|
|
20
|
+
* Gets default enhanced logger options from factory config
|
|
21
|
+
* @param config - Factory configuration
|
|
22
|
+
* @returns Default logger options
|
|
23
|
+
* @private
|
|
24
|
+
*/
|
|
25
|
+
private static getDefaultOptions;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=config-merger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-merger.d.ts","sourceRoot":"","sources":["../../../src/helpers/logger/config-merger.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEtD;;;;;;;GAOG;AACH,qBAAa,kBAAkB;IAC7B;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CACvB,eAAe,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAAG,SAAS,EAC5D,MAAM,EAAE,oBAAoB,GAC3B,sBAAsB;IAiBzB;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;CAajC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LoggerConfigMerger = void 0;
|
|
4
|
+
const config_1 = require("./config");
|
|
5
|
+
/**
|
|
6
|
+
* Centralized logger configuration merger utility
|
|
7
|
+
* Consolidates configuration merging logic to avoid duplication
|
|
8
|
+
*
|
|
9
|
+
* @class LoggerConfigMerger
|
|
10
|
+
* @example
|
|
11
|
+
* const merged = LoggerConfigMerger.mergeLoggerOptions(userOptions, factoryConfig);
|
|
12
|
+
*/
|
|
13
|
+
class LoggerConfigMerger {
|
|
14
|
+
/**
|
|
15
|
+
* Merges provided logger options with factory defaults
|
|
16
|
+
* @param providedOptions - User-provided options (optional)
|
|
17
|
+
* @param config - Current factory configuration
|
|
18
|
+
* @returns Merged options with defaults applied
|
|
19
|
+
*/
|
|
20
|
+
static mergeLoggerOptions(providedOptions, config) {
|
|
21
|
+
const defaults = this.getDefaultOptions(config);
|
|
22
|
+
if (!providedOptions) {
|
|
23
|
+
return defaults;
|
|
24
|
+
}
|
|
25
|
+
return {
|
|
26
|
+
...defaults,
|
|
27
|
+
...providedOptions,
|
|
28
|
+
dataMaskingConfig: {
|
|
29
|
+
...defaults.dataMaskingConfig,
|
|
30
|
+
...providedOptions.dataMaskingConfig,
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Gets default enhanced logger options from factory config
|
|
36
|
+
* @param config - Factory configuration
|
|
37
|
+
* @returns Default logger options
|
|
38
|
+
* @private
|
|
39
|
+
*/
|
|
40
|
+
static getDefaultOptions(config) {
|
|
41
|
+
return {
|
|
42
|
+
enableAccessLog: config.enableAccessLog,
|
|
43
|
+
enablePerformanceMetrics: config.enablePerformanceMetrics,
|
|
44
|
+
enableDataMasking: true,
|
|
45
|
+
dataMaskingConfig: {
|
|
46
|
+
maskDataOptions: config.defaultDataMasking?.maskDataOptions || config_1.DEFAULT_MASK_DATA_OPTIONS,
|
|
47
|
+
},
|
|
48
|
+
logFormat: config.defaultLogFormat,
|
|
49
|
+
requestIdSystem: config.defaultRequestIDSystem,
|
|
50
|
+
sanitizeRequestData: true,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
exports.LoggerConfigMerger = LoggerConfigMerger;
|
|
55
|
+
//# sourceMappingURL=config-merger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-merger.js","sourceRoot":"","sources":["../../../src/helpers/logger/config-merger.ts"],"names":[],"mappings":";;;AAAA,qCAA2E;AAG3E;;;;;;;GAOG;AACH,MAAa,kBAAkB;IAC7B;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CACvB,eAA4D,EAC5D,MAA4B;QAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAEhD,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,OAAO;YACL,GAAG,QAAQ;YACX,GAAG,eAAe;YAClB,iBAAiB,EAAE;gBACjB,GAAG,QAAQ,CAAC,iBAAiB;gBAC7B,GAAG,eAAe,CAAC,iBAAiB;aACrC;SACF,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACK,MAAM,CAAC,iBAAiB,CAAC,MAA4B;QAC3D,OAAO;YACL,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,wBAAwB,EAAE,MAAM,CAAC,wBAAwB;YACzD,iBAAiB,EAAE,IAAI;YACvB,iBAAiB,EAAE;gBACjB,eAAe,EAAE,MAAM,CAAC,kBAAkB,EAAE,eAAe,IAAI,kCAAyB;aACzF;YACD,SAAS,EAAE,MAAM,CAAC,gBAAgB;YAClC,eAAe,EAAE,MAAM,CAAC,sBAAsB;YAC9C,mBAAmB,EAAE,IAAI;SAC1B,CAAC;IACJ,CAAC;CACF;AA9CD,gDA8CC"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { TLogFormat,
|
|
1
|
+
import { TLogFormat, TRequestIDSystem } from './common/types';
|
|
2
2
|
export interface ILoggerFactoryConfig {
|
|
3
|
-
|
|
3
|
+
defaultRequestIDSystem: TRequestIDSystem;
|
|
4
|
+
defaultLogFormat: TLogFormat;
|
|
5
|
+
enableAccessLog: boolean;
|
|
6
|
+
enablePerformanceMetrics: boolean;
|
|
4
7
|
defaultDataMasking?: {
|
|
5
|
-
|
|
6
|
-
maskdataOptions?: any;
|
|
8
|
+
maskDataOptions?: any;
|
|
7
9
|
};
|
|
8
|
-
defaultRequestIDSystem?: TRequestIDSystem;
|
|
9
|
-
defaultLogFormat?: TLogFormat;
|
|
10
|
-
enableAccessLog?: boolean;
|
|
11
10
|
}
|
|
12
|
-
export declare const
|
|
11
|
+
export declare const DEFAULT_CONFIG: ILoggerFactoryConfig;
|
|
12
|
+
export declare const DEFAULT_MASK_DATA_OPTIONS: {
|
|
13
13
|
genericStrings: {
|
|
14
14
|
config: {
|
|
15
15
|
maskWith: string;
|
|
@@ -23,12 +23,10 @@ export declare class LoggerFactoryConfigManager {
|
|
|
23
23
|
private static config;
|
|
24
24
|
static setConfig(config: Partial<ILoggerFactoryConfig>): void;
|
|
25
25
|
static getConfig(): ILoggerFactoryConfig;
|
|
26
|
-
static getMode(): TLogMode;
|
|
27
|
-
static isLegacyMode(): boolean;
|
|
28
|
-
static isModernMode(): boolean;
|
|
29
26
|
static getDefaultDataMaskingOptions(): any;
|
|
30
27
|
static getDefaultRequestIDSystem(): TRequestIDSystem;
|
|
31
28
|
static getDefaultLogFormat(): TLogFormat;
|
|
32
29
|
static isAccessLogEnabled(): boolean;
|
|
30
|
+
static isPerformanceMetricsEnabled(): boolean;
|
|
33
31
|
}
|
|
34
32
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/helpers/logger/config.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/helpers/logger/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,UAAU,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEhF,MAAM,WAAW,oBAAoB;IACnC,sBAAsB,EAAE,gBAAgB,CAAC;IACzC,gBAAgB,EAAE,UAAU,CAAC;IAC7B,eAAe,EAAE,OAAO,CAAC;IACzB,wBAAwB,EAAE,OAAO,CAAC;IAClC,kBAAkB,CAAC,EAAE;QACnB,eAAe,CAAC,EAAE,GAAG,CAAC;KACvB,CAAC;CACH;AAED,eAAO,MAAM,cAAc,EAAE,oBAK5B,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;CAUrC,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,MAAM,GAAG,EAAE,UAAU,GAAG,KAAG,GAG5D,CAAC;AAEF,qBAAa,0BAA0B;IACrC,OAAO,CAAC,MAAM,CAAC,MAAM,CAA+C;IAEpE,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI;IAW7D,MAAM,CAAC,SAAS,IAAI,oBAAoB;IAIxC,MAAM,CAAC,4BAA4B,IAAI,GAAG;IAI1C,MAAM,CAAC,yBAAyB,IAAI,gBAAgB;IAIpD,MAAM,CAAC,mBAAmB,IAAI,UAAU;IAIxC,MAAM,CAAC,kBAAkB,IAAI,OAAO;IAIpC,MAAM,CAAC,2BAA2B,IAAI,OAAO;CAG9C"}
|
|
@@ -1,43 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LoggerFactoryConfigManager = exports.maskSensitiveData = exports.
|
|
3
|
+
exports.LoggerFactoryConfigManager = exports.maskSensitiveData = exports.DEFAULT_MASK_DATA_OPTIONS = exports.DEFAULT_CONFIG = void 0;
|
|
4
4
|
const maskdata_1 = require("maskdata");
|
|
5
5
|
const types_1 = require("./common/types");
|
|
6
|
-
exports.
|
|
6
|
+
exports.DEFAULT_CONFIG = {
|
|
7
|
+
defaultRequestIDSystem: 'requestContext',
|
|
8
|
+
defaultLogFormat: 'modern',
|
|
9
|
+
enableAccessLog: true,
|
|
10
|
+
enablePerformanceMetrics: false,
|
|
11
|
+
};
|
|
12
|
+
exports.DEFAULT_MASK_DATA_OPTIONS = {
|
|
7
13
|
genericStrings: [
|
|
8
14
|
{
|
|
9
15
|
config: {
|
|
10
16
|
maskWith: '*',
|
|
11
17
|
fixedOutputLength: 8,
|
|
12
18
|
},
|
|
13
|
-
fields: ['*password'],
|
|
19
|
+
fields: ['*password', '*secret', '*token', '*key', '*pwd', '*email', '*phone', '*mobile'],
|
|
14
20
|
},
|
|
15
21
|
],
|
|
16
22
|
};
|
|
17
|
-
// Simplified data masking wrapper using maskdata library
|
|
18
23
|
const maskSensitiveData = (data, options) => {
|
|
19
|
-
const maskingOptions = options || exports.
|
|
24
|
+
const maskingOptions = options || exports.DEFAULT_MASK_DATA_OPTIONS;
|
|
20
25
|
return (0, maskdata_1.maskJSON2)(data, maskingOptions);
|
|
21
26
|
};
|
|
22
27
|
exports.maskSensitiveData = maskSensitiveData;
|
|
23
|
-
// Global configuration class
|
|
24
28
|
class LoggerFactoryConfigManager {
|
|
25
|
-
static { this.config = {
|
|
26
|
-
mode: types_1.LogModes.LEGACY,
|
|
27
|
-
defaultDataMasking: {
|
|
28
|
-
useMaskdataLib: true,
|
|
29
|
-
maskdataOptions: exports.DEFAULT_MASKDATA_OPTIONS,
|
|
30
|
-
},
|
|
31
|
-
defaultRequestIDSystem: types_1.RequestIDSystems.ASYNC_LOCAL_STORAGE,
|
|
32
|
-
defaultLogFormat: types_1.LogModes.LEGACY,
|
|
33
|
-
enableAccessLog: true,
|
|
34
|
-
}; }
|
|
29
|
+
static { this.config = { ...exports.DEFAULT_CONFIG }; }
|
|
35
30
|
static setConfig(config) {
|
|
36
31
|
this.config = { ...this.config, ...config };
|
|
37
|
-
// Update default data masking if provided
|
|
38
32
|
if (config.defaultDataMasking) {
|
|
39
33
|
this.config.defaultDataMasking = {
|
|
40
|
-
|
|
34
|
+
maskDataOptions: exports.DEFAULT_MASK_DATA_OPTIONS,
|
|
41
35
|
...config.defaultDataMasking,
|
|
42
36
|
};
|
|
43
37
|
}
|
|
@@ -45,26 +39,20 @@ class LoggerFactoryConfigManager {
|
|
|
45
39
|
static getConfig() {
|
|
46
40
|
return { ...this.config };
|
|
47
41
|
}
|
|
48
|
-
static getMode() {
|
|
49
|
-
return this.config.mode || types_1.LogModes.LEGACY;
|
|
50
|
-
}
|
|
51
|
-
static isLegacyMode() {
|
|
52
|
-
return this.getMode() === types_1.LogModes.LEGACY;
|
|
53
|
-
}
|
|
54
|
-
static isModernMode() {
|
|
55
|
-
return this.getMode() === types_1.LogModes.MODERN;
|
|
56
|
-
}
|
|
57
42
|
static getDefaultDataMaskingOptions() {
|
|
58
|
-
return this.config.defaultDataMasking?.
|
|
43
|
+
return this.config.defaultDataMasking?.maskDataOptions || exports.DEFAULT_MASK_DATA_OPTIONS;
|
|
59
44
|
}
|
|
60
45
|
static getDefaultRequestIDSystem() {
|
|
61
46
|
return this.config.defaultRequestIDSystem || types_1.RequestIDSystems.ASYNC_LOCAL_STORAGE;
|
|
62
47
|
}
|
|
63
48
|
static getDefaultLogFormat() {
|
|
64
|
-
return this.config.defaultLogFormat ||
|
|
49
|
+
return this.config.defaultLogFormat || 'modern';
|
|
65
50
|
}
|
|
66
51
|
static isAccessLogEnabled() {
|
|
67
|
-
return this.config.enableAccessLog ??
|
|
52
|
+
return this.config.enableAccessLog ?? true;
|
|
53
|
+
}
|
|
54
|
+
static isPerformanceMetricsEnabled() {
|
|
55
|
+
return this.config.enablePerformanceMetrics ?? false;
|
|
68
56
|
}
|
|
69
57
|
}
|
|
70
58
|
exports.LoggerFactoryConfigManager = LoggerFactoryConfigManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/helpers/logger/config.ts"],"names":[],"mappings":";;;AAAA,uCAAqC;AAErC,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/helpers/logger/config.ts"],"names":[],"mappings":";;;AAAA,uCAAqC;AAErC,0CAAgF;AAYnE,QAAA,cAAc,GAAyB;IAClD,sBAAsB,EAAE,gBAAgB;IACxC,gBAAgB,EAAE,QAAQ;IAC1B,eAAe,EAAE,IAAI;IACrB,wBAAwB,EAAE,KAAK;CAChC,CAAC;AAEW,QAAA,yBAAyB,GAAG;IACvC,cAAc,EAAE;QACd;YACE,MAAM,EAAE;gBACN,QAAQ,EAAE,GAAG;gBACb,iBAAiB,EAAE,CAAC;aACrB;YACD,MAAM,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC;SAC1F;KACF;CACF,CAAC;AAEK,MAAM,iBAAiB,GAAG,CAAC,IAAS,EAAE,OAAa,EAAO,EAAE;IACjE,MAAM,cAAc,GAAG,OAAO,IAAI,iCAAyB,CAAC;IAC5D,OAAO,IAAA,oBAAS,EAAC,IAAI,EAAE,cAAc,CAAC,CAAC;AACzC,CAAC,CAAC;AAHW,QAAA,iBAAiB,qBAG5B;AAEF,MAAa,0BAA0B;aACtB,WAAM,GAAyB,EAAE,GAAG,sBAAc,EAAE,CAAC;IAEpE,MAAM,CAAC,SAAS,CAAC,MAAqC;QACpD,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;QAE5C,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,kBAAkB,GAAG;gBAC/B,eAAe,EAAE,iCAAyB;gBAC1C,GAAG,MAAM,CAAC,kBAAkB;aAC7B,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,CAAC,SAAS;QACd,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,4BAA4B;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,eAAe,IAAI,iCAAyB,CAAC;IACtF,CAAC;IAED,MAAM,CAAC,yBAAyB;QAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,sBAAsB,IAAI,wBAAgB,CAAC,mBAAmB,CAAC;IACpF,CAAC;IAED,MAAM,CAAC,mBAAmB;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,QAAQ,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,kBAAkB;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,2BAA2B;QAChC,OAAO,IAAI,CAAC,MAAM,CAAC,wBAAwB,IAAI,KAAK,CAAC;IACvD,CAAC;;AApCH,gEAqCC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-logger.d.ts","sourceRoot":"","sources":["../../../src/helpers/logger/default-logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"default-logger.d.ts","sourceRoot":"","sources":["../../../src/helpers/logger/default-logger.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,2BAA2B,CAAC;AAInC,OAAO,EAAkB,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAOtE,eAAO,MAAM,2BAA2B,GAAI,MAAM;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,2BAalE,CAAC;AAGF,eAAO,MAAM,uBAAuB,wBAElC,CAAC;AAGH,eAAO,MAAM,kBAAkB,GAAI,MAAM;IACvC,SAAS,CAAC,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAChD,SAAS,CAAC,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAChD,eAAe,CAAC,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5D,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,IAAI,CAAC,EAAE;gBAAE,MAAM,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAA;aAAE,CAAC;YAC1C,KAAK,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;SACzC,CAAC;QACF,KAAK,EAAE;YACL,IAAI,CAAC,EAAE;gBAAE,MAAM,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAA;aAAE,CAAC;YAC1C,KAAK,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;SACzC,CAAC;KACH,CAAC;CACH,mBAiGA,CAAC;AAaF,eAAO,MAAM,iBAAiB,gBAK5B,CAAC"}
|
|
@@ -4,12 +4,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.applicationLogger = exports.defineCustomLogger = exports.applicationLogFormatter = exports.defineCustomLoggerFormatter = void 0;
|
|
7
|
-
const common_1 = require("../../common");
|
|
8
7
|
const node_path_1 = __importDefault(require("node:path"));
|
|
9
8
|
const winston_1 = __importDefault(require("winston"));
|
|
10
9
|
require("winston-daily-rotate-file");
|
|
10
|
+
const common_1 = require("../../common");
|
|
11
|
+
const parse_utility_1 = require("../../utilities/parse.utility");
|
|
11
12
|
const transports_1 = require("./transports");
|
|
12
|
-
const utilities_1 = require("../../utilities");
|
|
13
13
|
const LOGGER_FOLDER_PATH = process.env.APP_ENV_LOGGER_FOLDER_PATH ?? './';
|
|
14
14
|
const LOGGER_PREFIX = common_1.App.APPLICATION_NAME;
|
|
15
15
|
const f = winston_1.default.format;
|
|
@@ -29,7 +29,6 @@ const defineCustomLogger = (opts) => {
|
|
|
29
29
|
const { logLevels = {
|
|
30
30
|
error: 0,
|
|
31
31
|
alert: 0,
|
|
32
|
-
emerg: 0,
|
|
33
32
|
warn: 1,
|
|
34
33
|
info: 2,
|
|
35
34
|
http: 3,
|
|
@@ -39,7 +38,6 @@ const defineCustomLogger = (opts) => {
|
|
|
39
38
|
}, logColors = {
|
|
40
39
|
error: 'red',
|
|
41
40
|
alert: 'red',
|
|
42
|
-
emerg: 'red',
|
|
43
41
|
warn: 'yellow',
|
|
44
42
|
info: 'green',
|
|
45
43
|
http: 'magenta',
|
|
@@ -108,7 +106,7 @@ const fileOptions = { folder: LOGGER_FOLDER_PATH, prefix: LOGGER_PREFIX };
|
|
|
108
106
|
const dgramOptions = {
|
|
109
107
|
socketOptions: { type: 'udp4' },
|
|
110
108
|
host: process.env.APP_ENV_LOGGER_DGRAM_HOST,
|
|
111
|
-
port: (0,
|
|
109
|
+
port: (0, parse_utility_1.int)(process.env.APP_ENV_LOGGER_DGRAM_PORT),
|
|
112
110
|
label: process.env.APP_ENV_LOGGER_DGRAM_LABEL,
|
|
113
111
|
levels: process.env.APP_ENV_LOGGER_DGRAM_LEVELS?.split(',').map(el => el.trim()) ?? [],
|
|
114
112
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-logger.js","sourceRoot":"","sources":["../../../src/helpers/logger/default-logger.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"default-logger.js","sourceRoot":"","sources":["../../../src/helpers/logger/default-logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { Logger
|
|
1
|
+
import { Logger } from './application-logger';
|
|
2
2
|
import { HttpAccessLogger } from './http/access-logger';
|
|
3
3
|
import { IEnhancedLoggerOptions } from './http/types';
|
|
4
4
|
export interface IEnhancedLogger {
|
|
5
|
-
application:
|
|
5
|
+
application: Logger;
|
|
6
6
|
http: HttpAccessLogger | null;
|
|
7
7
|
}
|
|
8
8
|
export declare class EnhancedLoggerFactory {
|
|
9
9
|
private static httpLoggers;
|
|
10
10
|
static createEnhancedLogger(scopes: string[], httpOptions?: IEnhancedLoggerOptions, customLogger?: Logger): IEnhancedLogger;
|
|
11
11
|
static getHttpLogger(scopes: string[]): HttpAccessLogger | null;
|
|
12
|
-
static createHttpMiddleware(scopes: string[],
|
|
12
|
+
static createHttpMiddleware(scopes: string[], options?: IEnhancedLoggerOptions): (req: import("../..").AnyType, res: import("../..").AnyType, next: () => void) => void;
|
|
13
13
|
}
|
|
14
14
|
//# sourceMappingURL=enhanced-factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enhanced-factory.d.ts","sourceRoot":"","sources":["../../../src/helpers/logger/enhanced-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"enhanced-factory.d.ts","sourceRoot":"","sources":["../../../src/helpers/logger/enhanced-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEtD,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC/B;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAuC;IAEjE,MAAM,CAAC,oBAAoB,CACzB,MAAM,EAAE,MAAM,EAAE,EAChB,WAAW,CAAC,EAAE,sBAAsB,EACpC,YAAY,CAAC,EAAE,MAAM,GACpB,eAAe;IAsBlB,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,gBAAgB,GAAG,IAAI;IAK/D,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,sBAAsB;CAU/E"}
|
|
@@ -6,13 +6,13 @@ const access_logger_1 = require("./http/access-logger");
|
|
|
6
6
|
class EnhancedLoggerFactory {
|
|
7
7
|
static { this.httpLoggers = new Map(); }
|
|
8
8
|
static createEnhancedLogger(scopes, httpOptions, customLogger) {
|
|
9
|
-
const
|
|
10
|
-
|
|
9
|
+
const logger = customLogger ?? new application_logger_1.Logger();
|
|
10
|
+
logger.withScope(scopes.join('-'));
|
|
11
11
|
let httpLogger = null;
|
|
12
12
|
if (httpOptions?.enableAccessLog) {
|
|
13
13
|
const key = scopes.join('-');
|
|
14
14
|
if (!this.httpLoggers.has(key)) {
|
|
15
|
-
httpLogger = new access_logger_1.HttpAccessLogger(
|
|
15
|
+
httpLogger = new access_logger_1.HttpAccessLogger(logger, httpOptions);
|
|
16
16
|
this.httpLoggers.set(key, httpLogger);
|
|
17
17
|
}
|
|
18
18
|
else {
|
|
@@ -20,7 +20,7 @@ class EnhancedLoggerFactory {
|
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
return {
|
|
23
|
-
application:
|
|
23
|
+
application: logger,
|
|
24
24
|
http: httpLogger,
|
|
25
25
|
};
|
|
26
26
|
}
|
|
@@ -28,10 +28,13 @@ class EnhancedLoggerFactory {
|
|
|
28
28
|
const key = scopes.join('-');
|
|
29
29
|
return this.httpLoggers.get(key) || null;
|
|
30
30
|
}
|
|
31
|
-
static createHttpMiddleware(scopes,
|
|
32
|
-
|
|
31
|
+
static createHttpMiddleware(scopes, options) {
|
|
32
|
+
let httpLogger = this.getHttpLogger(scopes);
|
|
33
33
|
if (!httpLogger) {
|
|
34
|
-
|
|
34
|
+
const logger = new application_logger_1.Logger();
|
|
35
|
+
logger.withScope(scopes.join('-'));
|
|
36
|
+
httpLogger = new access_logger_1.HttpAccessLogger(logger, options);
|
|
37
|
+
this.httpLoggers.set(scopes.join('-'), httpLogger);
|
|
35
38
|
}
|
|
36
39
|
return access_logger_1.HttpAccessLogger.createMiddleware(httpLogger);
|
|
37
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enhanced-factory.js","sourceRoot":"","sources":["../../../src/helpers/logger/enhanced-factory.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"enhanced-factory.js","sourceRoot":"","sources":["../../../src/helpers/logger/enhanced-factory.ts"],"names":[],"mappings":";;;AAAA,6DAA8C;AAC9C,wDAAwD;AAQxD,MAAa,qBAAqB;aACjB,gBAAW,GAAG,IAAI,GAAG,EAA4B,CAAC;IAEjE,MAAM,CAAC,oBAAoB,CACzB,MAAgB,EAChB,WAAoC,EACpC,YAAqB;QAErB,MAAM,MAAM,GAAG,YAAY,IAAI,IAAI,2BAAM,EAAE,CAAC;QAC5C,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAEnC,IAAI,UAAU,GAA4B,IAAI,CAAC;QAE/C,IAAI,WAAW,EAAE,eAAe,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,UAAU,GAAG,IAAI,gCAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;gBACvD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,OAAO;YACL,WAAW,EAAE,MAAM;YACnB,IAAI,EAAE,UAAU;SACjB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,MAAgB;QACnC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,oBAAoB,CAAC,MAAgB,EAAE,OAAgC;QAC5E,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,IAAI,2BAAM,EAAE,CAAC;YAC5B,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACnC,UAAU,GAAG,IAAI,gCAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACnD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,gCAAgB,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACvD,CAAC;;AA3CH,sDA4CC"}
|
|
@@ -1,49 +1,13 @@
|
|
|
1
1
|
import { Logger } from './application-logger';
|
|
2
|
+
import { ILoggerFactoryConfig } from './config';
|
|
2
3
|
import { IEnhancedLogger } from './enhanced-factory';
|
|
3
4
|
import { IEnhancedLoggerOptions } from './http/types';
|
|
4
|
-
import { ILoggerFactoryConfig } from './config';
|
|
5
5
|
export declare class LoggerFactory {
|
|
6
|
-
/**
|
|
7
|
-
* Configure global logger settings
|
|
8
|
-
*/
|
|
9
6
|
static config(config: Partial<ILoggerFactoryConfig>): void;
|
|
10
|
-
/**
|
|
11
|
-
* Get current configuration
|
|
12
|
-
*/
|
|
13
7
|
static getConfig(): ILoggerFactoryConfig;
|
|
14
|
-
/**
|
|
15
|
-
* Get logger based on global configuration
|
|
16
|
-
* - Legacy mode: returns ApplicationLogger for backward compatibility
|
|
17
|
-
* - Modern mode: returns EnhancedLogger with default options
|
|
18
|
-
*/
|
|
19
8
|
static getLogger(scopes: string[], customLogger?: Logger): Logger;
|
|
20
|
-
/**
|
|
21
|
-
* Get enhanced logger with explicit options
|
|
22
|
-
*/
|
|
23
9
|
static getEnhancedLogger(scopes: string[], httpOptions?: IEnhancedLoggerOptions, customLogger?: Logger): IEnhancedLogger;
|
|
24
|
-
/**
|
|
25
|
-
* Create HTTP middleware based on global configuration
|
|
26
|
-
*/
|
|
27
10
|
static createHttpMiddleware(scopes: string[], options?: IEnhancedLoggerOptions): (req: import("../..").AnyType, res: import("../..").AnyType, next: () => void) => void;
|
|
28
|
-
/**
|
|
29
|
-
* Get default options based on global configuration
|
|
30
|
-
*/
|
|
31
|
-
private static getDefaultOptions;
|
|
32
|
-
/**
|
|
33
|
-
* Merge provided options with global defaults
|
|
34
|
-
*/
|
|
35
|
-
private static mergeWithDefaults;
|
|
36
|
-
/**
|
|
37
|
-
* Utility method to mask sensitive data using global config
|
|
38
|
-
*/
|
|
39
11
|
static maskData(data: any, customOptions?: any): any;
|
|
40
|
-
/**
|
|
41
|
-
* Check if running in legacy mode
|
|
42
|
-
*/
|
|
43
|
-
static isLegacyMode(): boolean;
|
|
44
|
-
/**
|
|
45
|
-
* Check if running in modern mode
|
|
46
|
-
*/
|
|
47
|
-
static isModernMode(): boolean;
|
|
48
12
|
}
|
|
49
13
|
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/helpers/logger/factory.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/helpers/logger/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAA8B,MAAM,UAAU,CAAC;AAE5E,OAAO,EAAyB,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEtD,qBAAa,aAAa;IACxB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI;IAI1D,MAAM,CAAC,SAAS,IAAI,oBAAoB;IAIxC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM;IAMjE,MAAM,CAAC,iBAAiB,CACtB,MAAM,EAAE,MAAM,EAAE,EAChB,WAAW,CAAC,EAAE,sBAAsB,EACpC,YAAY,CAAC,EAAE,MAAM,GACpB,eAAe;IAMlB,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,sBAAsB;IAM9E,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC,EAAE,GAAG,GAAG,GAAG;CAMrD"}
|
|
@@ -2,111 +2,36 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.LoggerFactory = void 0;
|
|
4
4
|
const application_logger_1 = require("./application-logger");
|
|
5
|
-
const enhanced_factory_1 = require("./enhanced-factory");
|
|
6
5
|
const config_1 = require("./config");
|
|
6
|
+
const config_merger_1 = require("./config-merger");
|
|
7
|
+
const enhanced_factory_1 = require("./enhanced-factory");
|
|
7
8
|
class LoggerFactory {
|
|
8
|
-
/**
|
|
9
|
-
* Configure global logger settings
|
|
10
|
-
*/
|
|
11
9
|
static config(config) {
|
|
12
10
|
config_1.LoggerFactoryConfigManager.setConfig(config);
|
|
13
11
|
}
|
|
14
|
-
/**
|
|
15
|
-
* Get current configuration
|
|
16
|
-
*/
|
|
17
12
|
static getConfig() {
|
|
18
13
|
return config_1.LoggerFactoryConfigManager.getConfig();
|
|
19
14
|
}
|
|
20
|
-
/**
|
|
21
|
-
* Get logger based on global configuration
|
|
22
|
-
* - Legacy mode: returns ApplicationLogger for backward compatibility
|
|
23
|
-
* - Modern mode: returns EnhancedLogger with default options
|
|
24
|
-
*/
|
|
25
15
|
static getLogger(scopes, customLogger) {
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
const logger = customLogger ?? new application_logger_1.ApplicationLogger();
|
|
30
|
-
logger.withScope(scopes.join('-'));
|
|
31
|
-
return logger;
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
// Return enhanced logger in modern mode
|
|
35
|
-
const enhancedLogger = this.getEnhancedLogger(scopes, this.getDefaultOptions(), customLogger);
|
|
36
|
-
return enhancedLogger.application;
|
|
37
|
-
}
|
|
16
|
+
const logger = customLogger ?? new application_logger_1.Logger();
|
|
17
|
+
logger.withScope(scopes.join('-'));
|
|
18
|
+
return logger;
|
|
38
19
|
}
|
|
39
|
-
/**
|
|
40
|
-
* Get enhanced logger with explicit options
|
|
41
|
-
*/
|
|
42
20
|
static getEnhancedLogger(scopes, httpOptions, customLogger) {
|
|
43
|
-
|
|
44
|
-
const mergedOptions =
|
|
21
|
+
const config = config_1.LoggerFactoryConfigManager.getConfig();
|
|
22
|
+
const mergedOptions = config_merger_1.LoggerConfigMerger.mergeLoggerOptions(httpOptions, config);
|
|
45
23
|
return enhanced_factory_1.EnhancedLoggerFactory.createEnhancedLogger(scopes, mergedOptions, customLogger);
|
|
46
24
|
}
|
|
47
|
-
/**
|
|
48
|
-
* Create HTTP middleware based on global configuration
|
|
49
|
-
*/
|
|
50
25
|
static createHttpMiddleware(scopes, options) {
|
|
51
|
-
const mergedOptions = this.mergeWithDefaults(options);
|
|
52
|
-
return enhanced_factory_1.EnhancedLoggerFactory.createHttpMiddleware(scopes, mergedOptions);
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Get default options based on global configuration
|
|
56
|
-
*/
|
|
57
|
-
static getDefaultOptions() {
|
|
58
26
|
const config = config_1.LoggerFactoryConfigManager.getConfig();
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
enablePerformanceMetrics: config.mode === 'modern',
|
|
62
|
-
enableDataMasking: true,
|
|
63
|
-
dataMaskingConfig: {
|
|
64
|
-
useMaskdataLib: true,
|
|
65
|
-
maskdataOptions: config.defaultDataMasking?.maskdataOptions,
|
|
66
|
-
},
|
|
67
|
-
logFormat: config.defaultLogFormat,
|
|
68
|
-
requestIdSystem: config.defaultRequestIDSystem,
|
|
69
|
-
sanitizeRequestData: true,
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Merge provided options with global defaults
|
|
74
|
-
*/
|
|
75
|
-
static mergeWithDefaults(providedOptions) {
|
|
76
|
-
const defaults = this.getDefaultOptions();
|
|
77
|
-
if (!providedOptions) {
|
|
78
|
-
return defaults;
|
|
79
|
-
}
|
|
80
|
-
// Deep merge for dataMaskingConfig
|
|
81
|
-
const mergedDataMaskingConfig = {
|
|
82
|
-
...defaults.dataMaskingConfig,
|
|
83
|
-
...providedOptions.dataMaskingConfig,
|
|
84
|
-
};
|
|
85
|
-
return {
|
|
86
|
-
...defaults,
|
|
87
|
-
...providedOptions,
|
|
88
|
-
dataMaskingConfig: mergedDataMaskingConfig,
|
|
89
|
-
};
|
|
27
|
+
const mergedOptions = config_merger_1.LoggerConfigMerger.mergeLoggerOptions(options, config);
|
|
28
|
+
return enhanced_factory_1.EnhancedLoggerFactory.createHttpMiddleware(scopes, mergedOptions);
|
|
90
29
|
}
|
|
91
|
-
/**
|
|
92
|
-
* Utility method to mask sensitive data using global config
|
|
93
|
-
*/
|
|
94
30
|
static maskData(data, customOptions) {
|
|
31
|
+
const { maskJSON2 } = require('maskdata');
|
|
95
32
|
const globalOptions = config_1.LoggerFactoryConfigManager.getDefaultDataMaskingOptions();
|
|
96
33
|
const options = customOptions || globalOptions;
|
|
97
|
-
return (
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Check if running in legacy mode
|
|
101
|
-
*/
|
|
102
|
-
static isLegacyMode() {
|
|
103
|
-
return config_1.LoggerFactoryConfigManager.isLegacyMode();
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Check if running in modern mode
|
|
107
|
-
*/
|
|
108
|
-
static isModernMode() {
|
|
109
|
-
return config_1.LoggerFactoryConfigManager.isModernMode();
|
|
34
|
+
return maskJSON2(data, options);
|
|
110
35
|
}
|
|
111
36
|
}
|
|
112
37
|
exports.LoggerFactory = LoggerFactory;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/helpers/logger/factory.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/helpers/logger/factory.ts"],"names":[],"mappings":";;;AAAA,6DAA8C;AAC9C,qCAA4E;AAC5E,mDAAqD;AACrD,yDAA4E;AAG5E,MAAa,aAAa;IACxB,MAAM,CAAC,MAAM,CAAC,MAAqC;QACjD,mCAA0B,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,SAAS;QACd,OAAO,mCAA0B,CAAC,SAAS,EAAE,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,MAAgB,EAAE,YAAqB;QACtD,MAAM,MAAM,GAAG,YAAY,IAAI,IAAI,2BAAM,EAAE,CAAC;QAC5C,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACnC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,iBAAiB,CACtB,MAAgB,EAChB,WAAoC,EACpC,YAAqB;QAErB,MAAM,MAAM,GAAG,mCAA0B,CAAC,SAAS,EAAE,CAAC;QACtD,MAAM,aAAa,GAAG,kCAAkB,CAAC,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACjF,OAAO,wCAAqB,CAAC,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;IACzF,CAAC;IAED,MAAM,CAAC,oBAAoB,CAAC,MAAgB,EAAE,OAAgC;QAC5E,MAAM,MAAM,GAAG,mCAA0B,CAAC,SAAS,EAAE,CAAC;QACtD,MAAM,aAAa,GAAG,kCAAkB,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7E,OAAO,wCAAqB,CAAC,oBAAoB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAAS,EAAE,aAAmB;QAC5C,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,aAAa,GAAG,mCAA0B,CAAC,4BAA4B,EAAE,CAAC;QAChF,MAAM,OAAO,GAAG,aAAa,IAAI,aAAa,CAAC;QAC/C,OAAO,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;CACF;AArCD,sCAqCC"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { AnyType } from '../../../common';
|
|
2
2
|
import { TLogLevel } from '../../../helpers/logger/common/types';
|
|
3
|
-
import {
|
|
3
|
+
import { Logger } from '../application-logger';
|
|
4
|
+
import { IRequestIDManager } from './request-id-manager';
|
|
4
5
|
import { IAccessLogEntry, IEnhancedLoggerOptions, IHttpAccessLogger, IPerformanceMetrics } from './types';
|
|
5
6
|
export declare class HttpAccessLogger implements IHttpAccessLogger {
|
|
6
7
|
private logger;
|
|
7
8
|
private options;
|
|
8
|
-
|
|
9
|
+
requestIDManager: IRequestIDManager;
|
|
9
10
|
private serverIp;
|
|
10
|
-
constructor(logger:
|
|
11
|
+
constructor(logger: Logger, options?: IEnhancedLoggerOptions);
|
|
11
12
|
logAccess(entry: IAccessLogEntry): void;
|
|
12
13
|
logPerformance(opts: {
|
|
13
14
|
metrics: IPerformanceMetrics;
|
|
@@ -24,12 +25,20 @@ export declare class HttpAccessLogger implements IHttpAccessLogger {
|
|
|
24
25
|
startTime: [number, number];
|
|
25
26
|
};
|
|
26
27
|
}): void;
|
|
28
|
+
static createMiddleware(httpLogger: HttpAccessLogger): (req: AnyType, res: AnyType, next: () => void) => void;
|
|
29
|
+
private buildAccessLogEntry;
|
|
27
30
|
private formatAccessLog;
|
|
28
31
|
private formatLegacyAccessLog;
|
|
32
|
+
private formatPerformanceLog;
|
|
33
|
+
private logStructured;
|
|
34
|
+
private stringifyJson;
|
|
35
|
+
private getResponseContent;
|
|
36
|
+
private shouldOmitResponseContent;
|
|
29
37
|
private sanitizeRequestData;
|
|
30
38
|
private getServerIp;
|
|
39
|
+
getClientIp(opts: {
|
|
40
|
+
request: AnyType;
|
|
41
|
+
}): string;
|
|
31
42
|
private getMainFilePackageName;
|
|
32
|
-
private getClientIp;
|
|
33
|
-
static createMiddleware(httpLogger: HttpAccessLogger): (req: AnyType, res: AnyType, next: () => void) => void;
|
|
34
43
|
}
|
|
35
44
|
//# sourceMappingURL=access-logger.d.ts.map
|