@crimson-education/browser-logger 2.0.2-cognito.2 → 3.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/README.md +289 -18
- package/lib/index.d.ts +10 -24
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +45 -116
- package/lib/index.js.map +1 -1
- package/lib/logger/consoleTransport.d.ts +37 -0
- package/lib/logger/consoleTransport.d.ts.map +1 -0
- package/lib/logger/consoleTransport.js +81 -0
- package/lib/logger/consoleTransport.js.map +1 -0
- package/lib/logger/datadogTransport.d.ts +8 -0
- package/lib/logger/datadogTransport.d.ts.map +1 -0
- package/lib/logger/datadogTransport.js +21 -0
- package/lib/logger/datadogTransport.js.map +1 -0
- package/lib/logger/index.d.ts +16 -0
- package/lib/logger/index.d.ts.map +1 -0
- package/lib/logger/index.js +148 -0
- package/lib/logger/index.js.map +1 -0
- package/lib/logger/index.test.d.ts +2 -0
- package/lib/logger/index.test.d.ts.map +1 -0
- package/lib/logger/index.test.js +60 -0
- package/lib/logger/index.test.js.map +1 -0
- package/lib/logger/utils.d.ts +15 -0
- package/lib/logger/utils.d.ts.map +1 -0
- package/lib/logger/utils.js +32 -0
- package/lib/logger/utils.js.map +1 -0
- package/lib/reporters/amplifyReporter.d.ts +40 -14
- package/lib/reporters/amplifyReporter.d.ts.map +1 -1
- package/lib/reporters/amplifyReporter.js +15 -23
- package/lib/reporters/amplifyReporter.js.map +1 -1
- package/lib/reporters/amplifyReporter.test.js +0 -11
- package/lib/reporters/amplifyReporter.test.js.map +1 -1
- package/lib/reporters/datadogReporter.d.ts +64 -14
- package/lib/reporters/datadogReporter.d.ts.map +1 -1
- package/lib/reporters/datadogReporter.js +46 -101
- package/lib/reporters/datadogReporter.js.map +1 -1
- package/lib/reporters/gtmReporter.d.ts +3 -2
- package/lib/reporters/gtmReporter.d.ts.map +1 -1
- package/lib/reporters/gtmReporter.js +20 -6
- package/lib/reporters/gtmReporter.js.map +1 -1
- package/lib/reporters/index.d.ts +66 -28
- package/lib/reporters/index.d.ts.map +1 -1
- package/lib/reporters/index.js +210 -0
- package/lib/reporters/index.js.map +1 -1
- package/lib/reporters/logReporter.d.ts +35 -0
- package/lib/reporters/logReporter.d.ts.map +1 -0
- package/lib/reporters/logReporter.js +62 -0
- package/lib/reporters/logReporter.js.map +1 -0
- package/lib/types/index.d.ts +3 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/index.js +19 -0
- package/lib/types/index.js.map +1 -0
- package/lib/types/logger.d.ts +78 -0
- package/lib/types/logger.d.ts.map +1 -0
- package/lib/{types.js → types/logger.js} +1 -1
- package/lib/types/logger.js.map +1 -0
- package/lib/types/reporter.d.ts +155 -0
- package/lib/types/reporter.d.ts.map +1 -0
- package/lib/types/reporter.js +3 -0
- package/lib/types/reporter.js.map +1 -0
- package/lib/utils.d.ts +9 -4
- package/lib/utils.d.ts.map +1 -1
- package/lib/utils.js +28 -43
- package/lib/utils.js.map +1 -1
- package/lib/utils.test.d.ts +2 -0
- package/lib/utils.test.d.ts.map +1 -0
- package/lib/utils.test.js +32 -0
- package/lib/utils.test.js.map +1 -0
- package/package.json +5 -4
- package/src/index.ts +41 -120
- package/src/logger/consoleTransport.ts +101 -0
- package/src/logger/datadogTransport.ts +20 -0
- package/src/logger/index.test.ts +68 -0
- package/src/logger/index.ts +139 -0
- package/src/logger/utils.ts +28 -0
- package/src/reporters/amplifyReporter.test.ts +1 -14
- package/src/reporters/amplifyReporter.ts +65 -36
- package/src/reporters/datadogReporter.ts +123 -115
- package/src/reporters/gtmReporter.ts +35 -8
- package/src/reporters/index.ts +208 -24
- package/src/reporters/logReporter.ts +86 -0
- package/src/types/index.ts +2 -0
- package/src/types/logger.ts +85 -0
- package/src/types/reporter.ts +167 -0
- package/src/utils.test.ts +32 -0
- package/src/utils.ts +39 -49
- package/lib/types.d.ts +0 -48
- package/lib/types.d.ts.map +0 -1
- package/lib/types.js.map +0 -1
- package/src/types.ts +0 -50
package/src/utils.ts
CHANGED
|
@@ -1,50 +1,40 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
return logger;
|
|
41
|
-
},
|
|
42
|
-
|
|
43
|
-
error: (...args: any[]) => {
|
|
44
|
-
console.error(...args);
|
|
45
|
-
return logger;
|
|
46
|
-
},
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
return logger;
|
|
1
|
+
import { IReporter, Metadata } from './types';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Recursively filter reporter metadata.
|
|
5
|
+
* @param metadata Deep Metadata to filter.
|
|
6
|
+
* @param reporter Reporter with filter config.
|
|
7
|
+
* @param prefix Prefix for recusring nested metadata.
|
|
8
|
+
* @returns Filtered metadata.
|
|
9
|
+
*/
|
|
10
|
+
export function filterReporterMetadata<TMetadata extends Metadata | undefined>(
|
|
11
|
+
metadata: TMetadata,
|
|
12
|
+
reporter: Pick<IReporter, 'ignoreMetadataPatterns'>,
|
|
13
|
+
prefix?: string,
|
|
14
|
+
): TMetadata {
|
|
15
|
+
const ignorePatterns = reporter.ignoreMetadataPatterns;
|
|
16
|
+
|
|
17
|
+
// No metadata, or no patterns.
|
|
18
|
+
if (metadata === undefined || !ignorePatterns) {
|
|
19
|
+
return metadata;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const entries = Object.entries(metadata);
|
|
23
|
+
|
|
24
|
+
return Object.fromEntries(
|
|
25
|
+
entries
|
|
26
|
+
.filter(([key]) => {
|
|
27
|
+
const fullKey = prefix ? prefix + key : key;
|
|
28
|
+
return !ignorePatterns.some((pattern) =>
|
|
29
|
+
typeof pattern === 'string' ? pattern === fullKey : pattern.test(fullKey),
|
|
30
|
+
);
|
|
31
|
+
})
|
|
32
|
+
.map(([key, value]) => {
|
|
33
|
+
if (typeof value === 'object' && value !== null) {
|
|
34
|
+
const fullKey = prefix ? prefix + key : key;
|
|
35
|
+
return [key, filterReporterMetadata(value, reporter, `${fullKey}.`)];
|
|
36
|
+
}
|
|
37
|
+
return [key, value];
|
|
38
|
+
}),
|
|
39
|
+
) as TMetadata;
|
|
50
40
|
}
|
package/lib/types.d.ts
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
export declare type Metadata = Record<string, any>;
|
|
2
|
-
export declare type Metrics = Record<string, number>;
|
|
3
|
-
export declare type ServiceInfo = {
|
|
4
|
-
service: string;
|
|
5
|
-
environment: string;
|
|
6
|
-
version: string;
|
|
7
|
-
defaultMetadata?: Metadata;
|
|
8
|
-
};
|
|
9
|
-
export declare type ReportUser = {
|
|
10
|
-
id: string;
|
|
11
|
-
email?: string;
|
|
12
|
-
username?: string;
|
|
13
|
-
name?: string;
|
|
14
|
-
};
|
|
15
|
-
export declare type ReportError = Error | string;
|
|
16
|
-
export declare enum LogLevel {
|
|
17
|
-
Debug = "debug",
|
|
18
|
-
Info = "info",
|
|
19
|
-
Warn = "warn",
|
|
20
|
-
Error = "error"
|
|
21
|
-
}
|
|
22
|
-
export interface LogLevelMethod {
|
|
23
|
-
(message: string, metadata?: any): ILogger;
|
|
24
|
-
(message: string, ...meta: any[]): ILogger;
|
|
25
|
-
(message: any): ILogger;
|
|
26
|
-
}
|
|
27
|
-
export interface LogMethod {
|
|
28
|
-
(level: LogLevel, message: string, metadata?: any): ILogger;
|
|
29
|
-
(level: LogLevel, message: string, ...meta: any[]): ILogger;
|
|
30
|
-
(level: LogLevel, message: any): ILogger;
|
|
31
|
-
}
|
|
32
|
-
export interface Profiler {
|
|
33
|
-
logger: ILogger;
|
|
34
|
-
done(info?: {
|
|
35
|
-
message?: string;
|
|
36
|
-
level?: LogLevel;
|
|
37
|
-
}): boolean;
|
|
38
|
-
}
|
|
39
|
-
export interface ILogger {
|
|
40
|
-
startTimer(): Profiler;
|
|
41
|
-
child(metadata?: Metadata, name?: string): ILogger;
|
|
42
|
-
log: LogMethod;
|
|
43
|
-
debug: LogLevelMethod;
|
|
44
|
-
info: LogLevelMethod;
|
|
45
|
-
warn: LogLevelMethod;
|
|
46
|
-
error: LogLevelMethod;
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=types.d.ts.map
|
package/lib/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AACA,oBAAY,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE3C,oBAAY,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE7C,oBAAY,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,QAAQ,CAAC;CAC5B,CAAC;AAEF,oBAAY,UAAU,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1F,oBAAY,WAAW,GAAG,KAAK,GAAG,MAAM,CAAC;AAEzC,oBAAY,QAAQ;IAClB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC;IAC3C,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAC3C,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC;IAC5D,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAC5D,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC;CAC1C;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;CAC9D;AAED,MAAM,WAAW,OAAO;IACtB,UAAU,IAAI,QAAQ,CAAC;IACvB,KAAK,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAEnD,GAAG,EAAE,SAAS,CAAC;IACf,KAAK,EAAE,cAAc,CAAC;IACtB,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,cAAc,CAAC;CACvB"}
|
package/lib/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAgBA,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,2BAAe,CAAA;IACf,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,2BAAe,CAAA;AACjB,CAAC,EALW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAKnB"}
|
package/src/types.ts
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
export type Metadata = Record<string, any>;
|
|
3
|
-
|
|
4
|
-
export type Metrics = Record<string, number>;
|
|
5
|
-
|
|
6
|
-
export type ServiceInfo = {
|
|
7
|
-
service: string;
|
|
8
|
-
environment: string;
|
|
9
|
-
version: string;
|
|
10
|
-
defaultMetadata?: Metadata;
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
export type ReportUser = { id: string; email?: string; username?: string; name?: string };
|
|
14
|
-
|
|
15
|
-
export type ReportError = Error | string;
|
|
16
|
-
|
|
17
|
-
export enum LogLevel {
|
|
18
|
-
Debug = 'debug',
|
|
19
|
-
Info = 'info',
|
|
20
|
-
Warn = 'warn',
|
|
21
|
-
Error = 'error',
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export interface LogLevelMethod {
|
|
25
|
-
(message: string, metadata?: any): ILogger;
|
|
26
|
-
(message: string, ...meta: any[]): ILogger;
|
|
27
|
-
(message: any): ILogger;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export interface LogMethod {
|
|
31
|
-
(level: LogLevel, message: string, metadata?: any): ILogger;
|
|
32
|
-
(level: LogLevel, message: string, ...meta: any[]): ILogger;
|
|
33
|
-
(level: LogLevel, message: any): ILogger;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export interface Profiler {
|
|
37
|
-
logger: ILogger;
|
|
38
|
-
done(info?: { message?: string; level?: LogLevel }): boolean;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export interface ILogger {
|
|
42
|
-
startTimer(): Profiler;
|
|
43
|
-
child(metadata?: Metadata, name?: string): ILogger;
|
|
44
|
-
|
|
45
|
-
log: LogMethod;
|
|
46
|
-
debug: LogLevelMethod;
|
|
47
|
-
info: LogLevelMethod;
|
|
48
|
-
warn: LogLevelMethod;
|
|
49
|
-
error: LogLevelMethod;
|
|
50
|
-
}
|