UNPKG

2.53 kBJavaScriptView Raw
1Object.defineProperty(exports, "__esModule", { value: true });
2var tslib_1 = require("tslib");
3var core_1 = require("@sentry/core");
4var types_1 = require("@sentry/types");
5var utils_1 = require("@sentry/utils");
6var util = require("util");
7/** Console module integration */
8var Console = /** @class */ (function () {
9 function Console() {
10 /**
11 * @inheritDoc
12 */
13 this.name = Console.id;
14 }
15 /**
16 * @inheritDoc
17 */
18 Console.prototype.setupOnce = function () {
19 var e_1, _a;
20 try {
21 for (var _b = tslib_1.__values(['debug', 'info', 'warn', 'error', 'log']), _c = _b.next(); !_c.done; _c = _b.next()) {
22 var level = _c.value;
23 utils_1.fill(console, level, createConsoleWrapper(level));
24 }
25 }
26 catch (e_1_1) { e_1 = { error: e_1_1 }; }
27 finally {
28 try {
29 if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
30 }
31 finally { if (e_1) throw e_1.error; }
32 }
33 };
34 /**
35 * @inheritDoc
36 */
37 Console.id = 'Console';
38 return Console;
39}());
40exports.Console = Console;
41/**
42 * Wrapper function that'll be used for every console level
43 */
44function createConsoleWrapper(level) {
45 return function consoleWrapper(originalConsoleMethod) {
46 var sentryLevel;
47 switch (level) {
48 case 'debug':
49 sentryLevel = types_1.Severity.Debug;
50 break;
51 case 'error':
52 sentryLevel = types_1.Severity.Error;
53 break;
54 case 'info':
55 sentryLevel = types_1.Severity.Info;
56 break;
57 case 'warn':
58 sentryLevel = types_1.Severity.Warning;
59 break;
60 default:
61 sentryLevel = types_1.Severity.Log;
62 }
63 /* eslint-disable prefer-rest-params */
64 return function () {
65 if (core_1.getCurrentHub().getIntegration(Console)) {
66 core_1.getCurrentHub().addBreadcrumb({
67 category: 'console',
68 level: sentryLevel,
69 message: util.format.apply(undefined, arguments),
70 }, {
71 input: tslib_1.__spread(arguments),
72 level: level,
73 });
74 }
75 originalConsoleMethod.apply(this, arguments);
76 };
77 /* eslint-enable prefer-rest-params */
78 };
79}
80//# sourceMappingURL=console.js.map
\No newline at end of file