1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.enable = exports.console = void 0;
|
4 |
|
5 |
|
6 | var diagnostic_channel_1 = require("diagnostic-channel");
|
7 | var stream_1 = require("stream");
|
8 | var consolePatchFunction = function (originalConsole) {
|
9 | var aiLoggingOutStream = new stream_1.Writable();
|
10 | var aiLoggingErrStream = new stream_1.Writable();
|
11 |
|
12 |
|
13 | aiLoggingOutStream.write = function (chunk) {
|
14 | if (!chunk) {
|
15 | return true;
|
16 | }
|
17 | var message = chunk.toString();
|
18 | diagnostic_channel_1.channel.publish("console", { message: message });
|
19 | return true;
|
20 | };
|
21 | aiLoggingErrStream.write = function (chunk) {
|
22 | if (!chunk) {
|
23 | return true;
|
24 | }
|
25 | var message = chunk.toString();
|
26 | diagnostic_channel_1.channel.publish("console", { message: message, stderr: true });
|
27 | return true;
|
28 | };
|
29 | var aiLoggingConsole = new originalConsole.Console(aiLoggingOutStream, aiLoggingErrStream);
|
30 | var consoleMethods = ["log", "info", "warn", "error", "dir", "time", "timeEnd", "trace", "assert"];
|
31 | var _loop_1 = function (method) {
|
32 | var originalMethod = originalConsole[method];
|
33 | if (originalMethod) {
|
34 | originalConsole[method] = function () {
|
35 | if (aiLoggingConsole[method]) {
|
36 | try {
|
37 | aiLoggingConsole[method].apply(aiLoggingConsole, arguments);
|
38 | }
|
39 | catch (e) {
|
40 |
|
41 | }
|
42 | }
|
43 | return originalMethod.apply(originalConsole, arguments);
|
44 | };
|
45 | }
|
46 | };
|
47 | for (var _i = 0, consoleMethods_1 = consoleMethods; _i < consoleMethods_1.length; _i++) {
|
48 | var method = consoleMethods_1[_i];
|
49 | _loop_1(method);
|
50 | }
|
51 | return originalConsole;
|
52 | };
|
53 | exports.console = {
|
54 | versionSpecifier: ">= 4.0.0",
|
55 | patch: consolePatchFunction,
|
56 | };
|
57 | function enable() {
|
58 | diagnostic_channel_1.channel.registerMonkeyPatch("console", exports.console);
|
59 |
|
60 |
|
61 | require("console");
|
62 | }
|
63 | exports.enable = enable;
|
64 |
|
\ | No newline at end of file |