@crimson-education/browser-logger 3.0.0 → 3.0.1-pinpoint-middleware.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.
Files changed (38) hide show
  1. package/lib/index.d.ts +12 -12
  2. package/lib/index.js +69 -69
  3. package/lib/logger/consoleTransport.d.ts +36 -36
  4. package/lib/logger/consoleTransport.js +80 -80
  5. package/lib/logger/datadogTransport.d.ts +7 -7
  6. package/lib/logger/datadogTransport.js +20 -20
  7. package/lib/logger/index.d.ts +15 -15
  8. package/lib/logger/index.js +147 -147
  9. package/lib/logger/index.test.d.ts +1 -1
  10. package/lib/logger/index.test.js +59 -59
  11. package/lib/logger/utils.d.ts +14 -14
  12. package/lib/logger/utils.js +31 -31
  13. package/lib/reporters/amplifyReporter.d.ts +83 -77
  14. package/lib/reporters/amplifyReporter.d.ts.map +1 -1
  15. package/lib/reporters/amplifyReporter.js +162 -150
  16. package/lib/reporters/amplifyReporter.js.map +1 -1
  17. package/lib/reporters/amplifyReporter.test.d.ts +1 -1
  18. package/lib/reporters/amplifyReporter.test.js +50 -50
  19. package/lib/reporters/datadogReporter.d.ts +76 -76
  20. package/lib/reporters/datadogReporter.js +122 -122
  21. package/lib/reporters/gtmReporter.d.ts +8 -8
  22. package/lib/reporters/gtmReporter.js +56 -56
  23. package/lib/reporters/index.d.ts +66 -66
  24. package/lib/reporters/index.js +212 -212
  25. package/lib/reporters/logReporter.d.ts +34 -34
  26. package/lib/reporters/logReporter.js +61 -61
  27. package/lib/types/index.d.ts +2 -2
  28. package/lib/types/index.js +18 -18
  29. package/lib/types/logger.d.ts +77 -77
  30. package/lib/types/logger.js +10 -10
  31. package/lib/types/reporter.d.ts +154 -154
  32. package/lib/types/reporter.js +2 -2
  33. package/lib/utils.d.ts +9 -9
  34. package/lib/utils.js +31 -31
  35. package/lib/utils.test.d.ts +1 -1
  36. package/lib/utils.test.js +31 -31
  37. package/package.json +1 -1
  38. package/src/reporters/amplifyReporter.ts +22 -1
package/lib/index.d.ts CHANGED
@@ -1,13 +1,13 @@
1
- import { ReporterConfigurations, ServiceInfo } from './types';
2
- export * from './types';
3
- export * from './reporters';
4
- export * from './logger';
5
- export declare type LoggerConfig = ServiceInfo & {
6
- reporters?: ReporterConfigurations;
7
- };
8
- /**
9
- * Initializes the logger and reporters.
10
- * @param config Reporter config options.
11
- */
12
- export declare function init(config: LoggerConfig): void;
1
+ import { ReporterConfigurations, ServiceInfo } from './types';
2
+ export * from './types';
3
+ export * from './reporters';
4
+ export * from './logger';
5
+ export declare type LoggerConfig = ServiceInfo & {
6
+ reporters?: ReporterConfigurations;
7
+ };
8
+ /**
9
+ * Initializes the logger and reporters.
10
+ * @param config Reporter config options.
11
+ */
12
+ export declare function init(config: LoggerConfig): void;
13
13
  //# sourceMappingURL=index.d.ts.map
package/lib/index.js CHANGED
@@ -1,70 +1,70 @@
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
- exports.init = void 0;
18
- const logger_1 = require("./logger");
19
- const reporters_1 = require("./reporters");
20
- const gtmReporter_1 = require("./reporters/gtmReporter");
21
- const amplifyReporter_1 = require("./reporters/amplifyReporter");
22
- const datadogReporter_1 = require("./reporters/datadogReporter");
23
- const logReporter_1 = require("./reporters/logReporter");
24
- __exportStar(require("./types"), exports);
25
- __exportStar(require("./reporters"), exports);
26
- __exportStar(require("./logger"), exports);
27
- let initialized = false;
28
- /**
29
- * Initializes the logger and reporters.
30
- * @param config Reporter config options.
31
- */
32
- function init(config) {
33
- var _a, _b, _c, _d, _e, _f;
34
- // Some reporters don't like being initialized multiple times.
35
- if (initialized) {
36
- return;
37
- }
38
- initialized = true;
39
- // Log Reporter enabled by default.
40
- const logReporterConfig = (_b = (_a = config.reporters) === null || _a === void 0 ? void 0 : _a.log) !== null && _b !== void 0 ? _b : true;
41
- if (logReporterConfig !== false) {
42
- reporters_1.reporters['log'] = (0, logReporter_1.logReporter)(config, typeof logReporterConfig === 'boolean' ? {} : logReporterConfig);
43
- }
44
- if ((_c = config.reporters) === null || _c === void 0 ? void 0 : _c.datadog) {
45
- reporters_1.reporters['datadog'] = (0, datadogReporter_1.datadogReporter)(config, config.reporters.datadog);
46
- }
47
- if ((_d = config.reporters) === null || _d === void 0 ? void 0 : _d.amplify) {
48
- reporters_1.reporters['amplify'] = (0, amplifyReporter_1.amplifyReporter)(config, config.reporters.amplify);
49
- }
50
- if ((_e = config.reporters) === null || _e === void 0 ? void 0 : _e.gtm) {
51
- reporters_1.reporters['gtm'] = (0, gtmReporter_1.gtmReporter)(config, typeof config.reporters.gtm === 'boolean' ? {} : config.reporters.gtm);
52
- }
53
- const defaultMetadata = {
54
- ...((_f = config.defaultMetadata) !== null && _f !== void 0 ? _f : {}),
55
- service: config.service,
56
- environment: config.environment,
57
- version: config.version,
58
- };
59
- // Sets the global log level, if specified.
60
- if (config.logLevel) {
61
- (0, logger_1.setLogLevel)(config.logLevel);
62
- }
63
- // Sets the global event level, if specified.
64
- if (config.eventLevel) {
65
- (0, reporters_1.setEventLevel)(config.eventLevel);
66
- }
67
- (0, reporters_1.addMetadata)(defaultMetadata);
68
- }
69
- exports.init = init;
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
+ exports.init = void 0;
18
+ const logger_1 = require("./logger");
19
+ const reporters_1 = require("./reporters");
20
+ const gtmReporter_1 = require("./reporters/gtmReporter");
21
+ const amplifyReporter_1 = require("./reporters/amplifyReporter");
22
+ const datadogReporter_1 = require("./reporters/datadogReporter");
23
+ const logReporter_1 = require("./reporters/logReporter");
24
+ __exportStar(require("./types"), exports);
25
+ __exportStar(require("./reporters"), exports);
26
+ __exportStar(require("./logger"), exports);
27
+ let initialized = false;
28
+ /**
29
+ * Initializes the logger and reporters.
30
+ * @param config Reporter config options.
31
+ */
32
+ function init(config) {
33
+ var _a, _b, _c, _d, _e, _f;
34
+ // Some reporters don't like being initialized multiple times.
35
+ if (initialized) {
36
+ return;
37
+ }
38
+ initialized = true;
39
+ // Log Reporter enabled by default.
40
+ const logReporterConfig = (_b = (_a = config.reporters) === null || _a === void 0 ? void 0 : _a.log) !== null && _b !== void 0 ? _b : true;
41
+ if (logReporterConfig !== false) {
42
+ reporters_1.reporters['log'] = (0, logReporter_1.logReporter)(config, typeof logReporterConfig === 'boolean' ? {} : logReporterConfig);
43
+ }
44
+ if ((_c = config.reporters) === null || _c === void 0 ? void 0 : _c.datadog) {
45
+ reporters_1.reporters['datadog'] = (0, datadogReporter_1.datadogReporter)(config, config.reporters.datadog);
46
+ }
47
+ if ((_d = config.reporters) === null || _d === void 0 ? void 0 : _d.amplify) {
48
+ reporters_1.reporters['amplify'] = (0, amplifyReporter_1.amplifyReporter)(config, config.reporters.amplify);
49
+ }
50
+ if ((_e = config.reporters) === null || _e === void 0 ? void 0 : _e.gtm) {
51
+ reporters_1.reporters['gtm'] = (0, gtmReporter_1.gtmReporter)(config, typeof config.reporters.gtm === 'boolean' ? {} : config.reporters.gtm);
52
+ }
53
+ const defaultMetadata = {
54
+ ...((_f = config.defaultMetadata) !== null && _f !== void 0 ? _f : {}),
55
+ service: config.service,
56
+ environment: config.environment,
57
+ version: config.version,
58
+ };
59
+ // Sets the global log level, if specified.
60
+ if (config.logLevel) {
61
+ (0, logger_1.setLogLevel)(config.logLevel);
62
+ }
63
+ // Sets the global event level, if specified.
64
+ if (config.eventLevel) {
65
+ (0, reporters_1.setEventLevel)(config.eventLevel);
66
+ }
67
+ (0, reporters_1.addMetadata)(defaultMetadata);
68
+ }
69
+ exports.init = init;
70
70
  //# sourceMappingURL=index.js.map
@@ -1,37 +1,37 @@
1
- import { ILogTransport, LogLevel, LogTransportConfigBase } from '../types';
2
- declare const colors: {
3
- bold: number[];
4
- italic: number[];
5
- underline: number[];
6
- inverse: number[];
7
- white: number[];
8
- grey: number[];
9
- black: number[];
10
- blue: number[];
11
- cyan: number[];
12
- green: number[];
13
- magenta: number[];
14
- red: number[];
15
- yellow: number[];
16
- };
17
- export declare type ColorizeColor = keyof typeof colors;
18
- /**
19
- * Colorize a string with a specified color.
20
- * @param str String to colorize
21
- * @param color Color to colorize the string with
22
- * @returns Colorized string
23
- */
24
- export declare function colorize(str: string, color: ColorizeColor): string;
25
- export interface ConsoleLogTransportConfig extends LogTransportConfigBase {
26
- /**
27
- * Add colors to log messages.
28
- */
29
- colorize?: false | typeof colorize;
30
- /**
31
- * Gets the color for the log level.
32
- */
33
- getLogLevelColor?: (level: LogLevel) => ColorizeColor;
34
- }
35
- export declare function consoleTransport(config?: ConsoleLogTransportConfig): ILogTransport & ConsoleLogTransportConfig;
36
- export {};
1
+ import { ILogTransport, LogLevel, LogTransportConfigBase } from '../types';
2
+ declare const colors: {
3
+ bold: number[];
4
+ italic: number[];
5
+ underline: number[];
6
+ inverse: number[];
7
+ white: number[];
8
+ grey: number[];
9
+ black: number[];
10
+ blue: number[];
11
+ cyan: number[];
12
+ green: number[];
13
+ magenta: number[];
14
+ red: number[];
15
+ yellow: number[];
16
+ };
17
+ export declare type ColorizeColor = keyof typeof colors;
18
+ /**
19
+ * Colorize a string with a specified color.
20
+ * @param str String to colorize
21
+ * @param color Color to colorize the string with
22
+ * @returns Colorized string
23
+ */
24
+ export declare function colorize(str: string, color: ColorizeColor): string;
25
+ export interface ConsoleLogTransportConfig extends LogTransportConfigBase {
26
+ /**
27
+ * Add colors to log messages.
28
+ */
29
+ colorize?: false | typeof colorize;
30
+ /**
31
+ * Gets the color for the log level.
32
+ */
33
+ getLogLevelColor?: (level: LogLevel) => ColorizeColor;
34
+ }
35
+ export declare function consoleTransport(config?: ConsoleLogTransportConfig): ILogTransport & ConsoleLogTransportConfig;
36
+ export {};
37
37
  //# sourceMappingURL=consoleTransport.d.ts.map
@@ -1,81 +1,81 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.consoleTransport = exports.colorize = void 0;
4
- // from browser-util-inspect
5
- const colors = {
6
- bold: [1, 22],
7
- italic: [3, 23],
8
- underline: [4, 24],
9
- inverse: [7, 27],
10
- white: [37, 39],
11
- grey: [90, 39],
12
- black: [30, 39],
13
- blue: [34, 39],
14
- cyan: [36, 39],
15
- green: [32, 39],
16
- magenta: [35, 39],
17
- red: [31, 39],
18
- yellow: [33, 39],
19
- };
20
- /**
21
- * Colorize a string with a specified color.
22
- * @param str String to colorize
23
- * @param color Color to colorize the string with
24
- * @returns Colorized string
25
- */
26
- function colorize(str, color) {
27
- const colorData = colors[color];
28
- return '\u001b[' + colorData[0] + 'm' + str + '\u001b[' + colorData[1] + 'm';
29
- }
30
- exports.colorize = colorize;
31
- /**
32
- * Gets a stack trace from metadata or accompanying error.
33
- */
34
- function getStackTrace(data) {
35
- var _a;
36
- const stack = ((_a = data === null || data === void 0 ? void 0 : data.err) === null || _a === void 0 ? void 0 : _a.stack) || data.stack || data['error.stack'];
37
- delete data.stack;
38
- return stack !== null && stack !== void 0 ? stack : '';
39
- }
40
- function consoleTransport(config = {}) {
41
- var _a, _b, _c;
42
- // Default ignore patterns
43
- (_a = config.ignoreMetadataPatterns) !== null && _a !== void 0 ? _a : (config.ignoreMetadataPatterns = ['application', 'service', 'environment', 'version']);
44
- // Get the colorizer function, or a no-op if not enabled.
45
- const colorizer = config.colorize !== false ? (_b = config.colorize) !== null && _b !== void 0 ? _b : colorize : (str) => str;
46
- // Get the log level color function, or use the default colors.
47
- const getLogLevelColor = (_c = config.getLogLevelColor) !== null && _c !== void 0 ? _c : ((level) => {
48
- return {
49
- error: 'red',
50
- warn: 'yellow',
51
- info: 'cyan',
52
- debug: 'green',
53
- }[level];
54
- });
55
- const transport = {
56
- ...config,
57
- log: ({ level, message, timestamp, splat, ...metadata }) => {
58
- let splatData = splat !== null && splat !== void 0 ? splat : [];
59
- const stackTrace = getStackTrace(metadata);
60
- const strippedInfo = { ...metadata };
61
- delete strippedInfo['level'];
62
- delete strippedInfo['message'];
63
- delete strippedInfo['splat'];
64
- delete strippedInfo['timestamp'];
65
- delete strippedInfo['stack'];
66
- if (Object.keys(strippedInfo).length > 0) {
67
- splatData = [strippedInfo, ...splatData];
68
- }
69
- if (message) {
70
- splatData = [message, ...splatData];
71
- }
72
- if (stackTrace) {
73
- splatData = [...splatData, stackTrace];
74
- }
75
- console.log(`${colorizer(timestamp, 'magenta')} ${colorizer(level, getLogLevelColor(level))}: `, ...splatData);
76
- },
77
- };
78
- return transport;
79
- }
80
- exports.consoleTransport = consoleTransport;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.consoleTransport = exports.colorize = void 0;
4
+ // from browser-util-inspect
5
+ const colors = {
6
+ bold: [1, 22],
7
+ italic: [3, 23],
8
+ underline: [4, 24],
9
+ inverse: [7, 27],
10
+ white: [37, 39],
11
+ grey: [90, 39],
12
+ black: [30, 39],
13
+ blue: [34, 39],
14
+ cyan: [36, 39],
15
+ green: [32, 39],
16
+ magenta: [35, 39],
17
+ red: [31, 39],
18
+ yellow: [33, 39],
19
+ };
20
+ /**
21
+ * Colorize a string with a specified color.
22
+ * @param str String to colorize
23
+ * @param color Color to colorize the string with
24
+ * @returns Colorized string
25
+ */
26
+ function colorize(str, color) {
27
+ const colorData = colors[color];
28
+ return '\u001b[' + colorData[0] + 'm' + str + '\u001b[' + colorData[1] + 'm';
29
+ }
30
+ exports.colorize = colorize;
31
+ /**
32
+ * Gets a stack trace from metadata or accompanying error.
33
+ */
34
+ function getStackTrace(data) {
35
+ var _a;
36
+ const stack = ((_a = data === null || data === void 0 ? void 0 : data.err) === null || _a === void 0 ? void 0 : _a.stack) || data.stack || data['error.stack'];
37
+ delete data.stack;
38
+ return stack !== null && stack !== void 0 ? stack : '';
39
+ }
40
+ function consoleTransport(config = {}) {
41
+ var _a, _b, _c;
42
+ // Default ignore patterns
43
+ (_a = config.ignoreMetadataPatterns) !== null && _a !== void 0 ? _a : (config.ignoreMetadataPatterns = ['application', 'service', 'environment', 'version']);
44
+ // Get the colorizer function, or a no-op if not enabled.
45
+ const colorizer = config.colorize !== false ? (_b = config.colorize) !== null && _b !== void 0 ? _b : colorize : (str) => str;
46
+ // Get the log level color function, or use the default colors.
47
+ const getLogLevelColor = (_c = config.getLogLevelColor) !== null && _c !== void 0 ? _c : ((level) => {
48
+ return {
49
+ error: 'red',
50
+ warn: 'yellow',
51
+ info: 'cyan',
52
+ debug: 'green',
53
+ }[level];
54
+ });
55
+ const transport = {
56
+ ...config,
57
+ log: ({ level, message, timestamp, splat, ...metadata }) => {
58
+ let splatData = splat !== null && splat !== void 0 ? splat : [];
59
+ const stackTrace = getStackTrace(metadata);
60
+ const strippedInfo = { ...metadata };
61
+ delete strippedInfo['level'];
62
+ delete strippedInfo['message'];
63
+ delete strippedInfo['splat'];
64
+ delete strippedInfo['timestamp'];
65
+ delete strippedInfo['stack'];
66
+ if (Object.keys(strippedInfo).length > 0) {
67
+ splatData = [strippedInfo, ...splatData];
68
+ }
69
+ if (message) {
70
+ splatData = [message, ...splatData];
71
+ }
72
+ if (stackTrace) {
73
+ splatData = [...splatData, stackTrace];
74
+ }
75
+ console.log(`${colorizer(timestamp, 'magenta')} ${colorizer(level, getLogLevelColor(level))}: `, ...splatData);
76
+ },
77
+ };
78
+ return transport;
79
+ }
80
+ exports.consoleTransport = consoleTransport;
81
81
  //# sourceMappingURL=consoleTransport.js.map
@@ -1,8 +1,8 @@
1
- import { ILogTransport, LogTransportConfigBase } from '../types';
2
- export declare type DatadogLogTransportConfig = LogTransportConfigBase;
3
- /**
4
- * A transport that sends logs to Datadog.
5
- * Note: This requires the datadog reporter to be initialized for it to work.
6
- */
7
- export declare function datadogTransport(config?: DatadogLogTransportConfig): ILogTransport;
1
+ import { ILogTransport, LogTransportConfigBase } from '../types';
2
+ export declare type DatadogLogTransportConfig = LogTransportConfigBase;
3
+ /**
4
+ * A transport that sends logs to Datadog.
5
+ * Note: This requires the datadog reporter to be initialized for it to work.
6
+ */
7
+ export declare function datadogTransport(config?: DatadogLogTransportConfig): ILogTransport;
8
8
  //# sourceMappingURL=datadogTransport.d.ts.map
@@ -1,21 +1,21 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.datadogTransport = void 0;
4
- const utils_1 = require("./utils");
5
- const browser_logs_1 = require("@datadog/browser-logs");
6
- /**
7
- * A transport that sends logs to Datadog.
8
- * Note: This requires the datadog reporter to be initialized for it to work.
9
- */
10
- function datadogTransport(config = {}) {
11
- const transport = {
12
- ...config,
13
- log: ({ level, message, ...metadata }) => {
14
- // Datadog expects a string message.
15
- browser_logs_1.datadogLogs.logger[level]((0, utils_1.getLogMessage)(message), metadata);
16
- },
17
- };
18
- return transport;
19
- }
20
- exports.datadogTransport = datadogTransport;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.datadogTransport = void 0;
4
+ const utils_1 = require("./utils");
5
+ const browser_logs_1 = require("@datadog/browser-logs");
6
+ /**
7
+ * A transport that sends logs to Datadog.
8
+ * Note: This requires the datadog reporter to be initialized for it to work.
9
+ */
10
+ function datadogTransport(config = {}) {
11
+ const transport = {
12
+ ...config,
13
+ log: ({ level, message, ...metadata }) => {
14
+ // Datadog expects a string message.
15
+ browser_logs_1.datadogLogs.logger[level]((0, utils_1.getLogMessage)(message), metadata);
16
+ },
17
+ };
18
+ return transport;
19
+ }
20
+ exports.datadogTransport = datadogTransport;
21
21
  //# sourceMappingURL=datadogTransport.js.map
@@ -1,16 +1,16 @@
1
- import { ILogger, ILogTransport, LoggerOptions, LogLevel, Metadata } from '../types';
2
- export * from './consoleTransport';
3
- export * from './datadogTransport';
4
- export declare const globalMetadata: Metadata;
5
- export declare const logTransports: ILogTransport[];
6
- export declare let globalLogLevel: LogLevel | undefined;
7
- /**
8
- * Sets the global log level.
9
- */
10
- export declare function setLogLevel(level: LogLevel | null): void;
11
- /**
12
- * Creates a Logger Instance.
13
- */
14
- export declare function createLogger(options?: LoggerOptions): ILogger;
15
- export declare const logger: ILogger;
1
+ import { ILogger, ILogTransport, LoggerOptions, LogLevel, Metadata } from '../types';
2
+ export * from './consoleTransport';
3
+ export * from './datadogTransport';
4
+ export declare const globalMetadata: Metadata;
5
+ export declare const logTransports: ILogTransport[];
6
+ export declare let globalLogLevel: LogLevel | undefined;
7
+ /**
8
+ * Sets the global log level.
9
+ */
10
+ export declare function setLogLevel(level: LogLevel | null): void;
11
+ /**
12
+ * Creates a Logger Instance.
13
+ */
14
+ export declare function createLogger(options?: LoggerOptions): ILogger;
15
+ export declare const logger: ILogger;
16
16
  //# sourceMappingURL=index.d.ts.map