@wgtechlabs/log-engine 2.1.0 → 2.2.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 +67 -1
- package/dist/cjs/__tests__/async-test-utils.cjs +276 -0
- package/dist/cjs/__tests__/async-test-utils.d.ts +51 -0
- package/dist/cjs/__tests__/async-test-utils.d.ts.map +1 -0
- package/dist/cjs/__tests__/async-test-utils.js.map +1 -0
- package/dist/cjs/__tests__/redaction/test-utils.cjs +72 -0
- package/dist/cjs/__tests__/redaction/test-utils.d.ts +33 -0
- package/dist/cjs/__tests__/redaction/test-utils.d.ts.map +1 -0
- package/dist/cjs/__tests__/redaction/test-utils.js.map +1 -0
- package/dist/cjs/__tests__/test-utils.cjs +49 -0
- package/dist/cjs/__tests__/test-utils.d.ts +41 -0
- package/dist/cjs/__tests__/test-utils.d.ts.map +1 -0
- package/dist/cjs/__tests__/test-utils.js.map +1 -0
- package/dist/{formatter/colors.js → cjs/formatter/colors.cjs} +1 -0
- package/dist/cjs/formatter/colors.d.ts.map +1 -0
- package/dist/cjs/formatter/colors.js.map +1 -0
- package/dist/{formatter/data-formatter.js → cjs/formatter/data-formatter.cjs} +1 -0
- package/dist/cjs/formatter/data-formatter.d.ts.map +1 -0
- package/dist/cjs/formatter/data-formatter.js.map +1 -0
- package/dist/{formatter/index.js → cjs/formatter/index.cjs} +6 -5
- package/dist/cjs/formatter/index.d.ts.map +1 -0
- package/dist/cjs/formatter/index.js.map +1 -0
- package/dist/{formatter/message-formatter.js → cjs/formatter/message-formatter.cjs} +61 -11
- package/dist/{formatter → cjs/formatter}/message-formatter.d.ts +9 -3
- package/dist/cjs/formatter/message-formatter.d.ts.map +1 -0
- package/dist/cjs/formatter/message-formatter.js.map +1 -0
- package/dist/{formatter/timestamp.js → cjs/formatter/timestamp.cjs} +1 -0
- package/dist/cjs/formatter/timestamp.d.ts.map +1 -0
- package/dist/cjs/formatter/timestamp.js.map +1 -0
- package/dist/{index.js → cjs/index.cjs} +5 -4
- package/dist/{index.d.ts → cjs/index.d.ts} +1 -1
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/{logger/advanced-outputs.js → cjs/logger/advanced-outputs.cjs} +1 -0
- package/dist/cjs/logger/advanced-outputs.d.ts.map +1 -0
- package/dist/cjs/logger/advanced-outputs.js.map +1 -0
- package/dist/{logger/config.js → cjs/logger/config.cjs} +4 -3
- package/dist/cjs/logger/config.d.ts.map +1 -0
- package/dist/cjs/logger/config.js.map +1 -0
- package/dist/{logger/core.js → cjs/logger/core.cjs} +48 -16
- package/dist/{logger → cjs/logger}/core.d.ts +19 -0
- package/dist/cjs/logger/core.d.ts.map +1 -0
- package/dist/cjs/logger/core.js.map +1 -0
- package/dist/{logger/environment.js → cjs/logger/environment.cjs} +2 -1
- package/dist/cjs/logger/environment.d.ts.map +1 -0
- package/dist/cjs/logger/environment.js.map +1 -0
- package/dist/{logger/filtering.js → cjs/logger/filtering.cjs} +2 -1
- package/dist/cjs/logger/filtering.d.ts.map +1 -0
- package/dist/cjs/logger/filtering.js.map +1 -0
- package/dist/{logger/index.js → cjs/logger/index.cjs} +6 -5
- package/dist/cjs/logger/index.d.ts.map +1 -0
- package/dist/cjs/logger/index.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/{redaction/config.js → cjs/redaction/config.cjs} +1 -0
- package/dist/cjs/redaction/config.d.ts.map +1 -0
- package/dist/cjs/redaction/config.js.map +1 -0
- package/dist/{redaction/index.js → cjs/redaction/index.cjs} +3 -2
- package/dist/cjs/redaction/index.d.ts.map +1 -0
- package/dist/cjs/redaction/index.js.map +1 -0
- package/dist/{redaction/redactor.js → cjs/redaction/redactor.cjs} +2 -1
- package/dist/cjs/redaction/redactor.d.ts.map +1 -0
- package/dist/cjs/redaction/redactor.js.map +1 -0
- package/dist/{types/index.js → cjs/types/index.cjs} +1 -0
- package/dist/{types → cjs/types}/index.d.ts +12 -0
- package/dist/cjs/types/index.d.ts.map +1 -0
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/esm/__tests__/async-test-utils.d.ts +51 -0
- package/dist/esm/__tests__/async-test-utils.d.ts.map +1 -0
- package/dist/esm/__tests__/async-test-utils.js +231 -0
- package/dist/esm/__tests__/async-test-utils.js.map +1 -0
- package/dist/esm/__tests__/redaction/test-utils.d.ts +33 -0
- package/dist/esm/__tests__/redaction/test-utils.d.ts.map +1 -0
- package/dist/esm/__tests__/redaction/test-utils.js +65 -0
- package/dist/esm/__tests__/redaction/test-utils.js.map +1 -0
- package/dist/esm/__tests__/test-utils.d.ts +41 -0
- package/dist/esm/__tests__/test-utils.d.ts.map +1 -0
- package/dist/esm/__tests__/test-utils.js +42 -0
- package/dist/esm/__tests__/test-utils.js.map +1 -0
- package/dist/esm/formatter/colors.d.ts +32 -0
- package/dist/esm/formatter/colors.d.ts.map +1 -0
- package/dist/esm/formatter/colors.js +32 -0
- package/dist/esm/formatter/colors.js.map +1 -0
- package/dist/esm/formatter/data-formatter.d.ts +26 -0
- package/dist/esm/formatter/data-formatter.d.ts.map +1 -0
- package/dist/esm/formatter/data-formatter.js +50 -0
- package/dist/esm/formatter/data-formatter.js.map +1 -0
- package/dist/esm/formatter/index.d.ts +10 -0
- package/dist/esm/formatter/index.d.ts.map +1 -0
- package/dist/esm/formatter/index.js +11 -0
- package/dist/esm/formatter/index.js.map +1 -0
- package/dist/esm/formatter/message-formatter.d.ts +47 -0
- package/dist/esm/formatter/message-formatter.d.ts.map +1 -0
- package/dist/esm/formatter/message-formatter.js +133 -0
- package/dist/esm/formatter/message-formatter.js.map +1 -0
- package/dist/esm/formatter/timestamp.d.ts +27 -0
- package/dist/esm/formatter/timestamp.d.ts.map +1 -0
- package/dist/esm/formatter/timestamp.js +36 -0
- package/dist/esm/formatter/timestamp.js.map +1 -0
- package/dist/esm/index.d.ts +180 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +194 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/logger/advanced-outputs.d.ts +159 -0
- package/dist/esm/logger/advanced-outputs.d.ts.map +1 -0
- package/dist/esm/logger/advanced-outputs.js +542 -0
- package/dist/esm/logger/advanced-outputs.js.map +1 -0
- package/dist/esm/logger/config.d.ts +42 -0
- package/dist/esm/logger/config.d.ts.map +1 -0
- package/dist/esm/logger/config.js +101 -0
- package/dist/esm/logger/config.js.map +1 -0
- package/dist/esm/logger/core.d.ts +171 -0
- package/dist/esm/logger/core.d.ts.map +1 -0
- package/dist/esm/logger/core.js +398 -0
- package/dist/esm/logger/core.js.map +1 -0
- package/dist/esm/logger/environment.d.ts +36 -0
- package/dist/esm/logger/environment.d.ts.map +1 -0
- package/dist/esm/logger/environment.js +58 -0
- package/dist/esm/logger/environment.js.map +1 -0
- package/dist/esm/logger/filtering.d.ts +36 -0
- package/dist/esm/logger/filtering.d.ts.map +1 -0
- package/dist/esm/logger/filtering.js +77 -0
- package/dist/esm/logger/filtering.js.map +1 -0
- package/dist/esm/logger/index.d.ts +10 -0
- package/dist/esm/logger/index.d.ts.map +1 -0
- package/dist/esm/logger/index.js +11 -0
- package/dist/esm/logger/index.js.map +1 -0
- package/dist/esm/redaction/config.d.ts +29 -0
- package/dist/esm/redaction/config.d.ts.map +1 -0
- package/dist/esm/redaction/config.js +92 -0
- package/dist/esm/redaction/config.js.map +1 -0
- package/dist/esm/redaction/index.d.ts +8 -0
- package/dist/esm/redaction/index.d.ts.map +1 -0
- package/dist/esm/redaction/index.js +7 -0
- package/dist/esm/redaction/index.js.map +1 -0
- package/dist/esm/redaction/redactor.d.ts +99 -0
- package/dist/esm/redaction/redactor.d.ts.map +1 -0
- package/dist/esm/redaction/redactor.js +259 -0
- package/dist/esm/redaction/redactor.js.map +1 -0
- package/dist/esm/types/index.d.ts +322 -0
- package/dist/esm/types/index.d.ts.map +1 -0
- package/dist/esm/types/index.js +41 -0
- package/dist/esm/types/index.js.map +1 -0
- package/package.json +59 -10
- package/dist/formatter/colors.d.ts.map +0 -1
- package/dist/formatter/data-formatter.d.ts.map +0 -1
- package/dist/formatter/index.d.ts.map +0 -1
- package/dist/formatter/message-formatter.d.ts.map +0 -1
- package/dist/formatter/timestamp.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/logger/advanced-outputs.d.ts.map +0 -1
- package/dist/logger/config.d.ts.map +0 -1
- package/dist/logger/core.d.ts.map +0 -1
- package/dist/logger/environment.d.ts.map +0 -1
- package/dist/logger/filtering.d.ts.map +0 -1
- package/dist/logger/index.d.ts.map +0 -1
- package/dist/redaction/config.d.ts.map +0 -1
- package/dist/redaction/index.d.ts.map +0 -1
- package/dist/redaction/redactor.d.ts.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- /package/dist/{formatter → cjs/formatter}/colors.d.ts +0 -0
- /package/dist/{formatter → cjs/formatter}/data-formatter.d.ts +0 -0
- /package/dist/{formatter → cjs/formatter}/index.d.ts +0 -0
- /package/dist/{formatter → cjs/formatter}/timestamp.d.ts +0 -0
- /package/dist/{logger → cjs/logger}/advanced-outputs.d.ts +0 -0
- /package/dist/{logger → cjs/logger}/config.d.ts +0 -0
- /package/dist/{logger → cjs/logger}/environment.d.ts +0 -0
- /package/dist/{logger → cjs/logger}/filtering.d.ts +0 -0
- /package/dist/{logger → cjs/logger}/index.d.ts +0 -0
- /package/dist/{redaction → cjs/redaction}/config.d.ts +0 -0
- /package/dist/{redaction → cjs/redaction}/index.d.ts +0 -0
- /package/dist/{redaction → cjs/redaction}/redactor.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/logger/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Environment detection utilities for logging configuration
|
|
3
|
+
* Handles automatic environment-based configuration
|
|
4
|
+
*/
|
|
5
|
+
import { LogMode } from '../types';
|
|
6
|
+
/**
|
|
7
|
+
* Environment detection and configuration utilities
|
|
8
|
+
*/
|
|
9
|
+
export declare class EnvironmentDetector {
|
|
10
|
+
/**
|
|
11
|
+
* Get the normalized NODE_ENV value
|
|
12
|
+
* @returns Normalized NODE_ENV (trimmed and lowercase)
|
|
13
|
+
*/
|
|
14
|
+
private static getNormalizedNodeEnv;
|
|
15
|
+
/**
|
|
16
|
+
* Determines the appropriate log mode based on NODE_ENV
|
|
17
|
+
* @returns LogMode appropriate for current environment
|
|
18
|
+
*/
|
|
19
|
+
static getEnvironmentMode(): LogMode;
|
|
20
|
+
/**
|
|
21
|
+
* Check if we're in a test environment
|
|
22
|
+
* @returns true if NODE_ENV is 'test'
|
|
23
|
+
*/
|
|
24
|
+
static isTestEnvironment(): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Check if we're in a development environment
|
|
27
|
+
* @returns true if NODE_ENV is 'development'
|
|
28
|
+
*/
|
|
29
|
+
static isDevelopmentEnvironment(): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Check if we're in a production environment
|
|
32
|
+
* @returns true if NODE_ENV is 'production'
|
|
33
|
+
*/
|
|
34
|
+
static isProductionEnvironment(): boolean;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=environment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../../src/logger/environment.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC;;GAEG;AACH,qBAAa,mBAAmB;IAC9B;;;SAGK;IACL,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAInC;;;SAGK;IACL,MAAM,CAAC,kBAAkB,IAAI,OAAO;IAiBpC;;;SAGK;IACL,MAAM,CAAC,iBAAiB,IAAI,OAAO;IAInC;;;SAGK;IACL,MAAM,CAAC,wBAAwB,IAAI,OAAO;IAI1C;;;SAGK;IACL,MAAM,CAAC,uBAAuB,IAAI,OAAO;CAG1C"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Environment detection utilities for logging configuration
|
|
3
|
+
* Handles automatic environment-based configuration
|
|
4
|
+
*/
|
|
5
|
+
import { LogMode } from '../types/index.js';
|
|
6
|
+
/**
|
|
7
|
+
* Environment detection and configuration utilities
|
|
8
|
+
*/
|
|
9
|
+
export class EnvironmentDetector {
|
|
10
|
+
/**
|
|
11
|
+
* Get the normalized NODE_ENV value
|
|
12
|
+
* @returns Normalized NODE_ENV (trimmed and lowercase)
|
|
13
|
+
*/
|
|
14
|
+
static getNormalizedNodeEnv() {
|
|
15
|
+
return (process.env.NODE_ENV || '').trim().toLowerCase();
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Determines the appropriate log mode based on NODE_ENV
|
|
19
|
+
* @returns LogMode appropriate for current environment
|
|
20
|
+
*/
|
|
21
|
+
static getEnvironmentMode() {
|
|
22
|
+
const nodeEnv = EnvironmentDetector.getNormalizedNodeEnv();
|
|
23
|
+
switch (nodeEnv) {
|
|
24
|
+
case 'development':
|
|
25
|
+
return LogMode.DEBUG; // Verbose logging for development
|
|
26
|
+
case 'production':
|
|
27
|
+
return LogMode.INFO; // Important info and above for production
|
|
28
|
+
case 'staging':
|
|
29
|
+
return LogMode.WARN; // Focused logging for staging
|
|
30
|
+
case 'test':
|
|
31
|
+
return LogMode.ERROR; // Minimal logging during tests
|
|
32
|
+
default:
|
|
33
|
+
return LogMode.INFO; // Default fallback for unknown environments
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Check if we're in a test environment
|
|
38
|
+
* @returns true if NODE_ENV is 'test'
|
|
39
|
+
*/
|
|
40
|
+
static isTestEnvironment() {
|
|
41
|
+
return EnvironmentDetector.getNormalizedNodeEnv() === 'test';
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Check if we're in a development environment
|
|
45
|
+
* @returns true if NODE_ENV is 'development'
|
|
46
|
+
*/
|
|
47
|
+
static isDevelopmentEnvironment() {
|
|
48
|
+
return EnvironmentDetector.getNormalizedNodeEnv() === 'development';
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Check if we're in a production environment
|
|
52
|
+
* @returns true if NODE_ENV is 'production'
|
|
53
|
+
*/
|
|
54
|
+
static isProductionEnvironment() {
|
|
55
|
+
return EnvironmentDetector.getNormalizedNodeEnv() === 'production';
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=environment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../src/logger/environment.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAC9B;;;SAGK;IACG,MAAM,CAAC,oBAAoB;QACjC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3D,CAAC;IAED;;;SAGK;IACL,MAAM,CAAC,kBAAkB;QACvB,MAAM,OAAO,GAAG,mBAAmB,CAAC,oBAAoB,EAAE,CAAC;QAE3D,QAAQ,OAAO,EAAE,CAAC;YAClB,KAAK,aAAa;gBAChB,OAAO,OAAO,CAAC,KAAK,CAAC,CAAI,kCAAkC;YAC7D,KAAK,YAAY;gBACf,OAAO,OAAO,CAAC,IAAI,CAAC,CAAK,0CAA0C;YACrE,KAAK,SAAS;gBACZ,OAAO,OAAO,CAAC,IAAI,CAAC,CAAK,8BAA8B;YACzD,KAAK,MAAM;gBACT,OAAO,OAAO,CAAC,KAAK,CAAC,CAAI,+BAA+B;YAC1D;gBACE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAK,4CAA4C;QACvE,CAAC;IACH,CAAC;IAED;;;SAGK;IACL,MAAM,CAAC,iBAAiB;QACtB,OAAO,mBAAmB,CAAC,oBAAoB,EAAE,KAAK,MAAM,CAAC;IAC/D,CAAC;IAED;;;SAGK;IACL,MAAM,CAAC,wBAAwB;QAC7B,OAAO,mBAAmB,CAAC,oBAAoB,EAAE,KAAK,aAAa,CAAC;IACtE,CAAC;IAED;;;SAGK;IACL,MAAM,CAAC,uBAAuB;QAC5B,OAAO,mBAAmB,CAAC,oBAAoB,EAAE,KAAK,YAAY,CAAC;IACrE,CAAC;CACF"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Log level and mode filtering logic
|
|
3
|
+
* Handles the decision logic for whether messages should be logged
|
|
4
|
+
*/
|
|
5
|
+
import { LogLevel, LogMode } from '../types';
|
|
6
|
+
/**
|
|
7
|
+
* Filtering logic for log messages based on levels and modes
|
|
8
|
+
* Determines whether a message should be output based on current configuration
|
|
9
|
+
*/
|
|
10
|
+
export declare class LogFilter {
|
|
11
|
+
private static readonly SEVERITY_RANKS;
|
|
12
|
+
private static readonly MODE_THRESHOLDS;
|
|
13
|
+
/**
|
|
14
|
+
* Determines if a message should be logged based on current log mode
|
|
15
|
+
* Messages are shown only if their level is appropriate for the configured mode
|
|
16
|
+
* LOG level is special - it always outputs regardless of configured mode (except when OFF is set)
|
|
17
|
+
* OFF mode disables all logging including LOG level messages
|
|
18
|
+
* @param level - The log level of the message to check
|
|
19
|
+
* @param currentMode - The current logging mode
|
|
20
|
+
* @returns true if message should be logged, false otherwise
|
|
21
|
+
*/
|
|
22
|
+
static shouldLog(level: LogLevel, currentMode: LogMode): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Get the severity rank for a log level
|
|
25
|
+
* @param level - The log level to get rank for
|
|
26
|
+
* @returns Numeric severity rank
|
|
27
|
+
*/
|
|
28
|
+
static getSeverityRank(level: LogLevel): number;
|
|
29
|
+
/**
|
|
30
|
+
* Get the threshold for a log mode
|
|
31
|
+
* @param mode - The log mode to get threshold for
|
|
32
|
+
* @returns Numeric threshold value
|
|
33
|
+
*/
|
|
34
|
+
static getModeThreshold(mode: LogMode): number;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=filtering.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filtering.d.ts","sourceRoot":"","sources":["../../../src/logger/filtering.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAE7C;;;GAGG;AACH,qBAAa,SAAS;IAEpB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAMpC;IAGF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAOrC;IAEF;;;;;;;;SAQK;IACL,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,GAAG,OAAO;IAWhE;;;;SAIK;IACL,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM;IAW/C;;;;SAIK;IACL,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM;CAW/C"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Log level and mode filtering logic
|
|
3
|
+
* Handles the decision logic for whether messages should be logged
|
|
4
|
+
*/
|
|
5
|
+
import { LogLevel, LogMode } from '../types/index.js';
|
|
6
|
+
/**
|
|
7
|
+
* Filtering logic for log messages based on levels and modes
|
|
8
|
+
* Determines whether a message should be output based on current configuration
|
|
9
|
+
*/
|
|
10
|
+
export class LogFilter {
|
|
11
|
+
/**
|
|
12
|
+
* Determines if a message should be logged based on current log mode
|
|
13
|
+
* Messages are shown only if their level is appropriate for the configured mode
|
|
14
|
+
* LOG level is special - it always outputs regardless of configured mode (except when OFF is set)
|
|
15
|
+
* OFF mode disables all logging including LOG level messages
|
|
16
|
+
* @param level - The log level of the message to check
|
|
17
|
+
* @param currentMode - The current logging mode
|
|
18
|
+
* @returns true if message should be logged, false otherwise
|
|
19
|
+
*/
|
|
20
|
+
static shouldLog(level, currentMode) {
|
|
21
|
+
// Get the severity rank for the message level using safe lookup
|
|
22
|
+
const messageSeverity = LogFilter.getSeverityRank(level);
|
|
23
|
+
// Get the minimum severity threshold for the current mode using safe lookup
|
|
24
|
+
const modeThreshold = LogFilter.getModeThreshold(currentMode);
|
|
25
|
+
// Allow the message if its severity meets or exceeds the mode threshold
|
|
26
|
+
return messageSeverity >= modeThreshold;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Get the severity rank for a log level
|
|
30
|
+
* @param level - The log level to get rank for
|
|
31
|
+
* @returns Numeric severity rank
|
|
32
|
+
*/
|
|
33
|
+
static getSeverityRank(level) {
|
|
34
|
+
switch (level) {
|
|
35
|
+
case LogLevel.DEBUG: return 0;
|
|
36
|
+
case LogLevel.INFO: return 1;
|
|
37
|
+
case LogLevel.WARN: return 2;
|
|
38
|
+
case LogLevel.ERROR: return 3;
|
|
39
|
+
case LogLevel.LOG: return 99;
|
|
40
|
+
default: return 0;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Get the threshold for a log mode
|
|
45
|
+
* @param mode - The log mode to get threshold for
|
|
46
|
+
* @returns Numeric threshold value
|
|
47
|
+
*/
|
|
48
|
+
static getModeThreshold(mode) {
|
|
49
|
+
switch (mode) {
|
|
50
|
+
case LogMode.DEBUG: return 0;
|
|
51
|
+
case LogMode.INFO: return 1;
|
|
52
|
+
case LogMode.WARN: return 2;
|
|
53
|
+
case LogMode.ERROR: return 3;
|
|
54
|
+
case LogMode.SILENT: return 99;
|
|
55
|
+
case LogMode.OFF: return 100;
|
|
56
|
+
default: return 0;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
// Maps LogLevel values to severity ranks for consistent comparison
|
|
61
|
+
LogFilter.SEVERITY_RANKS = {
|
|
62
|
+
[LogLevel.DEBUG]: 0,
|
|
63
|
+
[LogLevel.INFO]: 1,
|
|
64
|
+
[LogLevel.WARN]: 2,
|
|
65
|
+
[LogLevel.ERROR]: 3,
|
|
66
|
+
[LogLevel.LOG]: 99 // Special case - always outputs (except when OFF)
|
|
67
|
+
};
|
|
68
|
+
// Maps LogMode values to minimum severity rank required for output
|
|
69
|
+
LogFilter.MODE_THRESHOLDS = {
|
|
70
|
+
[LogMode.DEBUG]: 0, // Shows DEBUG and above
|
|
71
|
+
[LogMode.INFO]: 1, // Shows INFO and above
|
|
72
|
+
[LogMode.WARN]: 2, // Shows WARN and above
|
|
73
|
+
[LogMode.ERROR]: 3, // Shows ERROR and above
|
|
74
|
+
[LogMode.SILENT]: 99, // Only shows LOG messages
|
|
75
|
+
[LogMode.OFF]: 100 // Shows nothing
|
|
76
|
+
};
|
|
77
|
+
//# sourceMappingURL=filtering.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filtering.js","sourceRoot":"","sources":["../../../src/logger/filtering.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAE7C;;;GAGG;AACH,MAAM,OAAO,SAAS;IAoBpB;;;;;;;;SAQK;IACL,MAAM,CAAC,SAAS,CAAC,KAAe,EAAE,WAAoB;QACpD,gEAAgE;QAChE,MAAM,eAAe,GAAG,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAEzD,4EAA4E;QAC5E,MAAM,aAAa,GAAG,SAAS,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAE9D,wEAAwE;QACxE,OAAO,eAAe,IAAI,aAAa,CAAC;IAC1C,CAAC;IAED;;;;SAIK;IACL,MAAM,CAAC,eAAe,CAAC,KAAe;QACpC,QAAQ,KAAK,EAAE,CAAC;YAChB,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;YAC9B,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;YAC7B,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;YAC7B,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;YAC9B,KAAK,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED;;;;SAIK;IACL,MAAM,CAAC,gBAAgB,CAAC,IAAa;QACnC,QAAQ,IAAI,EAAE,CAAC;YACf,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;YAC7B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5B,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;YAC7B,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;YAC/B,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC;YAC7B,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;;AAtED,mEAAmE;AAC3C,wBAAc,GAA6B;IACjE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;IACnB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;IAClB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;IAClB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;IACnB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,CAAE,kDAAkD;CACvE,CAAC;AAEF,mEAAmE;AAC3C,yBAAe,GAA4B;IACjE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,EAAI,wBAAwB;IAC9C,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAK,uBAAuB;IAC7C,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAK,uBAAuB;IAC7C,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,EAAI,wBAAwB;IAC9C,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,0BAA0B;IAChD,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,CAAI,gBAAgB;CACvC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Logger module exports
|
|
3
|
+
* Provides centralized access to all logging functionality
|
|
4
|
+
*/
|
|
5
|
+
export { Logger } from './core';
|
|
6
|
+
export { LoggerConfigManager } from './config';
|
|
7
|
+
export { LogFilter } from './filtering';
|
|
8
|
+
export { EnvironmentDetector } from './environment';
|
|
9
|
+
export { Logger as CoreLogger } from './core';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/logger/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAGpD,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Logger module exports
|
|
3
|
+
* Provides centralized access to all logging functionality
|
|
4
|
+
*/
|
|
5
|
+
export { Logger } from './core.js';
|
|
6
|
+
export { LoggerConfigManager } from './config.js';
|
|
7
|
+
export { LogFilter } from './filtering.js';
|
|
8
|
+
export { EnvironmentDetector } from './environment.js';
|
|
9
|
+
// Backward compatibility - maintain the original Logger class interface
|
|
10
|
+
export { Logger as CoreLogger } from './core.js';
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/logger/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,wEAAwE;AACxE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default configuration and constants for data redaction
|
|
3
|
+
* Provides comprehensive coverage of common sensitive field patterns
|
|
4
|
+
*/
|
|
5
|
+
import { RedactionConfig } from '../types';
|
|
6
|
+
/**
|
|
7
|
+
* Default redaction configuration with comprehensive sensitive field detection
|
|
8
|
+
* Covers authentication, personal information, financial data, and internal systems
|
|
9
|
+
*/
|
|
10
|
+
export declare const defaultRedactionConfig: RedactionConfig;
|
|
11
|
+
/**
|
|
12
|
+
* Environment-based redaction controller
|
|
13
|
+
* Determines when redaction should be disabled based on environment variables
|
|
14
|
+
*/
|
|
15
|
+
export declare class RedactionController {
|
|
16
|
+
/**
|
|
17
|
+
* Check if redaction should be disabled based on environment variables
|
|
18
|
+
* Development mode and explicit flags can disable redaction for debugging
|
|
19
|
+
* @returns true if redaction should be disabled, false otherwise
|
|
20
|
+
*/
|
|
21
|
+
static isRedactionDisabled(): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Get environment-specific configuration overrides
|
|
24
|
+
* Allows customization through environment variables
|
|
25
|
+
* @returns Partial redaction config with environment-based overrides
|
|
26
|
+
*/
|
|
27
|
+
static getEnvironmentConfig(): Partial<RedactionConfig>;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/redaction/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,eAyCpC,CAAC;AAEF;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B;;;;SAIK;IACL,MAAM,CAAC,mBAAmB,IAAI,OAAO;IAUrC;;;;SAIK;IACL,MAAM,CAAC,oBAAoB,IAAI,OAAO,CAAC,eAAe,CAAC;CA4BxD"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default configuration and constants for data redaction
|
|
3
|
+
* Provides comprehensive coverage of common sensitive field patterns
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Default redaction configuration with comprehensive sensitive field detection
|
|
7
|
+
* Covers authentication, personal information, financial data, and internal systems
|
|
8
|
+
*/
|
|
9
|
+
export const defaultRedactionConfig = {
|
|
10
|
+
enabled: true,
|
|
11
|
+
deepRedaction: true,
|
|
12
|
+
maxContentLength: 100,
|
|
13
|
+
redactionText: '[REDACTED]',
|
|
14
|
+
truncationText: '... [TRUNCATED]',
|
|
15
|
+
// Comprehensive list of sensitive field patterns (case-insensitive)
|
|
16
|
+
sensitiveFields: [
|
|
17
|
+
// Authentication & Security
|
|
18
|
+
'password', 'pwd', 'pass', 'passphrase',
|
|
19
|
+
'token', 'accessToken', 'refreshToken', 'bearerToken',
|
|
20
|
+
'apiKey', 'api_key', 'secret', 'secretKey', 'privateKey',
|
|
21
|
+
'auth', 'authorization', 'authToken',
|
|
22
|
+
'jwt', 'sessionId', 'session_id',
|
|
23
|
+
'cookie', 'cookies', 'csrf', 'csrfToken',
|
|
24
|
+
// Personal Information (PII)
|
|
25
|
+
'email', 'emailAddress', 'email_address',
|
|
26
|
+
'phone', 'phoneNumber', 'phone_number', 'mobile',
|
|
27
|
+
'ssn', 'socialSecurityNumber', 'social_security_number',
|
|
28
|
+
'address', 'homeAddress', 'workAddress',
|
|
29
|
+
'firstName', 'lastName', 'fullName', 'realName', 'displayName',
|
|
30
|
+
'dateOfBirth', 'dob', 'birthDate',
|
|
31
|
+
// Financial Information
|
|
32
|
+
'creditCard', 'credit_card', 'cardNumber', 'card_number',
|
|
33
|
+
'cvv', 'cvc', 'pin', 'expiryDate', 'expiry_date',
|
|
34
|
+
'bankAccount', 'bank_account', 'routingNumber',
|
|
35
|
+
// Internal/System Information
|
|
36
|
+
'internalId', 'userId', 'customerId',
|
|
37
|
+
'personalInfo', 'pii', 'sensitive',
|
|
38
|
+
'clientSecret', 'webhookSecret'
|
|
39
|
+
],
|
|
40
|
+
// Fields that should be truncated rather than redacted
|
|
41
|
+
contentFields: [
|
|
42
|
+
'content', 'text', 'message', 'body', 'data',
|
|
43
|
+
'payload', 'response', 'request', 'description'
|
|
44
|
+
]
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Environment-based redaction controller
|
|
48
|
+
* Determines when redaction should be disabled based on environment variables
|
|
49
|
+
*/
|
|
50
|
+
export class RedactionController {
|
|
51
|
+
/**
|
|
52
|
+
* Check if redaction should be disabled based on environment variables
|
|
53
|
+
* Development mode and explicit flags can disable redaction for debugging
|
|
54
|
+
* @returns true if redaction should be disabled, false otherwise
|
|
55
|
+
*/
|
|
56
|
+
static isRedactionDisabled() {
|
|
57
|
+
return (process.env.NODE_ENV === 'development' ||
|
|
58
|
+
process.env.LOG_REDACTION_DISABLED === 'true' ||
|
|
59
|
+
process.env.DEBUG_FULL_PAYLOADS === 'true' ||
|
|
60
|
+
process.env.LOG_LEVEL === 'debug' ||
|
|
61
|
+
process.env.LOG_REDACTION_ENABLED === 'false');
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Get environment-specific configuration overrides
|
|
65
|
+
* Allows customization through environment variables
|
|
66
|
+
* @returns Partial redaction config with environment-based overrides
|
|
67
|
+
*/
|
|
68
|
+
static getEnvironmentConfig() {
|
|
69
|
+
const envConfig = {
|
|
70
|
+
enabled: !this.isRedactionDisabled()
|
|
71
|
+
};
|
|
72
|
+
// Apply environment variable overrides if they exist
|
|
73
|
+
if (process.env.LOG_MAX_CONTENT_LENGTH) {
|
|
74
|
+
const parsedLength = parseInt(process.env.LOG_MAX_CONTENT_LENGTH, 10);
|
|
75
|
+
if (!isNaN(parsedLength) && parsedLength > 0) {
|
|
76
|
+
envConfig.maxContentLength = parsedLength;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
if (process.env.LOG_REDACTION_TEXT) {
|
|
80
|
+
envConfig.redactionText = process.env.LOG_REDACTION_TEXT;
|
|
81
|
+
}
|
|
82
|
+
if (process.env.LOG_TRUNCATION_TEXT) {
|
|
83
|
+
envConfig.truncationText = process.env.LOG_TRUNCATION_TEXT;
|
|
84
|
+
}
|
|
85
|
+
if (process.env.LOG_SENSITIVE_FIELDS) {
|
|
86
|
+
const customFields = process.env.LOG_SENSITIVE_FIELDS.split(',').map(f => f.trim());
|
|
87
|
+
envConfig.sensitiveFields = [...defaultRedactionConfig.sensitiveFields, ...customFields];
|
|
88
|
+
}
|
|
89
|
+
return envConfig;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/redaction/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Redaction module exports
|
|
3
|
+
* Provides centralized access to all redaction functionality
|
|
4
|
+
*/
|
|
5
|
+
export { DataRedactor } from './redactor';
|
|
6
|
+
export { defaultRedactionConfig, RedactionController } from './config';
|
|
7
|
+
export type { RedactionConfig } from '../types';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/redaction/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACvE,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/redaction/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core data redaction engine
|
|
3
|
+
* Handles automatic detection and redaction of sensitive information in log data
|
|
4
|
+
*/
|
|
5
|
+
import { RedactionConfig, LogData } from '../types';
|
|
6
|
+
/**
|
|
7
|
+
* DataRedactor class - Core redaction logic for processing log data
|
|
8
|
+
* Automatically detects and redacts sensitive information while preserving structure
|
|
9
|
+
*/
|
|
10
|
+
export declare class DataRedactor {
|
|
11
|
+
private static config;
|
|
12
|
+
private static readonly MAX_RECURSION_DEPTH;
|
|
13
|
+
private static readonly MAX_REDACT_OBJECT_DEPTH;
|
|
14
|
+
/**
|
|
15
|
+
* Update the redaction configuration with new settings
|
|
16
|
+
* Merges provided config with existing settings and reloads environment variables
|
|
17
|
+
* @param newConfig - Partial configuration to merge with current settings
|
|
18
|
+
*/
|
|
19
|
+
static updateConfig(newConfig: Partial<RedactionConfig>): void;
|
|
20
|
+
/**
|
|
21
|
+
* Get the current redaction configuration
|
|
22
|
+
* @returns Deep copy of current redaction configuration
|
|
23
|
+
*/
|
|
24
|
+
static getConfig(): RedactionConfig;
|
|
25
|
+
/**
|
|
26
|
+
* Refresh configuration from environment variables
|
|
27
|
+
* Useful for picking up runtime environment changes
|
|
28
|
+
*/
|
|
29
|
+
static refreshConfig(): void;
|
|
30
|
+
/**
|
|
31
|
+
* Add custom regex patterns for advanced field detection
|
|
32
|
+
* @param patterns - Array of regex patterns to add
|
|
33
|
+
*/
|
|
34
|
+
static addCustomPatterns(patterns: RegExp[]): void;
|
|
35
|
+
/**
|
|
36
|
+
* Clear all custom regex patterns
|
|
37
|
+
*/
|
|
38
|
+
static clearCustomPatterns(): void;
|
|
39
|
+
/**
|
|
40
|
+
* Add custom sensitive field names to the existing list
|
|
41
|
+
* @param fields - Array of field names to add
|
|
42
|
+
*/
|
|
43
|
+
static addSensitiveFields(fields: string[]): void;
|
|
44
|
+
/**
|
|
45
|
+
* Test if a field name would be redacted with current configuration
|
|
46
|
+
* @param fieldName - Field name to test
|
|
47
|
+
* @returns true if field would be redacted, false otherwise
|
|
48
|
+
*/
|
|
49
|
+
static testFieldRedaction(fieldName: string): boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Main entry point for data redaction
|
|
52
|
+
* Processes any type of data and returns a redacted version
|
|
53
|
+
* @param data - Data to be processed for redaction
|
|
54
|
+
* @returns Redacted version of the data
|
|
55
|
+
*/
|
|
56
|
+
static redactData(data: LogData): LogData;
|
|
57
|
+
/**
|
|
58
|
+
* Process a value of any type (primitive, object, array)
|
|
59
|
+
* Recursively handles nested structures when deepRedaction is enabled
|
|
60
|
+
* Includes circular reference protection and recursion depth limiting
|
|
61
|
+
* @param value - Value to process
|
|
62
|
+
* @param visited - Set to track visited objects (prevents circular references)
|
|
63
|
+
* @param depth - Current recursion depth (prevents stack overflow)
|
|
64
|
+
* @returns Processed value with redaction applied
|
|
65
|
+
*/
|
|
66
|
+
private static processValue;
|
|
67
|
+
/**
|
|
68
|
+
* Process an object and redact sensitive fields
|
|
69
|
+
* Handles field-level redaction and content truncation
|
|
70
|
+
* @param obj - Object to process
|
|
71
|
+
* @param visited - Set to track visited objects (prevents circular references)
|
|
72
|
+
* @param depth - Current recursion depth (prevents stack overflow)
|
|
73
|
+
* @returns Object with sensitive fields redacted
|
|
74
|
+
*/
|
|
75
|
+
private static redactObject;
|
|
76
|
+
/**
|
|
77
|
+
* Check if a field name indicates sensitive information
|
|
78
|
+
* Uses case-insensitive matching with exact and partial matches
|
|
79
|
+
* Includes smart filtering to avoid false positives and custom patterns
|
|
80
|
+
* @param fieldName - Field name to check
|
|
81
|
+
* @returns true if field should be redacted, false otherwise
|
|
82
|
+
*/
|
|
83
|
+
private static isSensitiveField;
|
|
84
|
+
/**
|
|
85
|
+
* Check if a field name indicates content that should be truncated
|
|
86
|
+
* Uses exact case-insensitive matching for content fields
|
|
87
|
+
* @param fieldName - Field name to check
|
|
88
|
+
* @returns true if field is a content field, false otherwise
|
|
89
|
+
*/
|
|
90
|
+
private static isContentField;
|
|
91
|
+
/**
|
|
92
|
+
* Truncate content that exceeds the maximum length
|
|
93
|
+
* Preserves readability while preventing log bloat
|
|
94
|
+
* @param content - Content string to potentially truncate
|
|
95
|
+
* @returns Original content or truncated version with indicator
|
|
96
|
+
*/
|
|
97
|
+
private static truncateContent;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=redactor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redactor.d.ts","sourceRoot":"","sources":["../../../src/redaction/redactor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGpD;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,MAAM,CAGnB;IAGF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAO;IAElD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAM;IAErD;;;;SAIK;IACL,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;IAU9D;;;SAGK;IACL,MAAM,CAAC,SAAS,IAAI,eAAe;IASnC;;;SAGK;IACL,MAAM,CAAC,aAAa,IAAI,IAAI;IAQ5B;;;SAGK;IACL,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAQlD;;SAEK;IACL,MAAM,CAAC,mBAAmB,IAAI,IAAI;IAOlC;;;SAGK;IACL,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAOjD;;;;SAIK;IACL,MAAM,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAWrD;;;;;SAKK;IACL,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IASzC;;;;;;;;SAQK;IACL,OAAO,CAAC,MAAM,CAAC,YAAY;IAyC3B;;;;;;;SAOK;IACL,OAAO,CAAC,MAAM,CAAC,YAAY;IA2B3B;;;;;;SAMK;IACL,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAgD/B;;;;;SAKK;IACL,OAAO,CAAC,MAAM,CAAC,cAAc;IAK7B;;;;;SAKK;IACL,OAAO,CAAC,MAAM,CAAC,eAAe;CAM/B"}
|