@crimson-education/browser-logger 3.0.2 → 3.0.3-pinpoint-proxy.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 +8 -2
- package/lib/index.d.ts +12 -12
- package/lib/index.js +69 -69
- package/lib/logger/consoleTransport.d.ts +36 -36
- package/lib/logger/consoleTransport.js +80 -80
- package/lib/logger/datadogTransport.d.ts +7 -7
- package/lib/logger/datadogTransport.js +20 -20
- package/lib/logger/index.d.ts +15 -15
- package/lib/logger/index.js +147 -147
- package/lib/logger/index.test.d.ts +1 -1
- package/lib/logger/index.test.js +59 -59
- package/lib/logger/utils.d.ts +14 -14
- package/lib/logger/utils.js +31 -31
- package/lib/reporters/amplifyReporter.d.ts +85 -83
- package/lib/reporters/amplifyReporter.d.ts.map +1 -1
- package/lib/reporters/amplifyReporter.js +175 -162
- package/lib/reporters/amplifyReporter.js.map +1 -1
- package/lib/reporters/amplifyReporter.test.d.ts +1 -1
- package/lib/reporters/amplifyReporter.test.js +50 -50
- package/lib/reporters/datadogReporter.d.ts +85 -85
- package/lib/reporters/datadogReporter.js +124 -124
- package/lib/reporters/gtmReporter.d.ts +8 -8
- package/lib/reporters/gtmReporter.js +56 -56
- package/lib/reporters/index.d.ts +66 -66
- package/lib/reporters/index.js +212 -212
- package/lib/reporters/logReporter.d.ts +34 -34
- package/lib/reporters/logReporter.js +61 -61
- package/lib/types/index.d.ts +2 -2
- package/lib/types/index.js +18 -18
- package/lib/types/logger.d.ts +77 -77
- package/lib/types/logger.js +10 -10
- package/lib/types/reporter.d.ts +154 -154
- package/lib/types/reporter.js +2 -2
- package/lib/utils.d.ts +9 -9
- package/lib/utils.js +31 -31
- package/lib/utils.test.d.ts +1 -1
- package/lib/utils.test.js +31 -31
- package/package.json +1 -1
- package/src/reporters/amplifyReporter.ts +19 -0
package/README.md
CHANGED
|
@@ -157,7 +157,7 @@ These will only send to the log reporter, it is recommended to use `toReporters`
|
|
|
157
157
|
|
|
158
158
|
#### Filtering out metadata
|
|
159
159
|
|
|
160
|
-
You can filter what metadata gets sent to each reporter in the reporter config.
|
|
160
|
+
You can filter what metadata gets sent to each reporter in the reporter config.
|
|
161
161
|
This accepts a string for exact match metadata keys, or a RegExp.
|
|
162
162
|
You can use `.` to traverse metadata.
|
|
163
163
|
|
|
@@ -199,6 +199,12 @@ Logger.addBreadcrumb({
|
|
|
199
199
|
|
|
200
200
|
### Configure Reporters
|
|
201
201
|
|
|
202
|
+
### Proxies
|
|
203
|
+
|
|
204
|
+
Some reporters support taking a `proxyUrl` parameter in their config. When provided, the reporter will send events to the `proxyUrl` instead of the default destination. This can be useful to get around ad blockers users might have installed. Typically, `proxyUrl` should point to our internal proxy service--a shared service that forwards requests it receives to a third-party system.
|
|
205
|
+
|
|
206
|
+
Our internal proxy service is defined in our [crimson-infrastructure](https://github.com/crimson-education/crimson-infrastructure) repository.
|
|
207
|
+
|
|
202
208
|
#### Log
|
|
203
209
|
|
|
204
210
|
By default, the log reporter is enabled. This adds all reporter functions to logs. Set `reporters.log` to `false` to disable reporter logging.
|
|
@@ -262,7 +268,7 @@ This automatically adds a Datadog Log Transport that transmits Log data to Datad
|
|
|
262
268
|
To configure Amplify, this requires at least `region`, `identityPoolId` and `analyticsAppId`.
|
|
263
269
|
|
|
264
270
|
> **Note**: If you are setting up Browser Logger in a project that uses AWS Cognito or other AWS Amplify Features, you will want to set `identityPoolId` to false. This disables the reporter's call to Auth.configure, as you will have used that to configure your App already.
|
|
265
|
-
>
|
|
271
|
+
>
|
|
266
272
|
> You will need to set identityPoolId in your Auth.configure function yourself, otherwise Pinpoint won't work.
|
|
267
273
|
|
|
268
274
|
Auto `Auth.configure`:
|
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
|
package/lib/logger/index.d.ts
CHANGED
|
@@ -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
|