@mongosh/logging 3.2.0 → 3.5.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/AUTHORS CHANGED
@@ -12,3 +12,5 @@ Basit <1305718+mabaasit@users.noreply.github.com>
12
12
  Alena Khineika <alena.khineika@mongodb.com>
13
13
  Gagik Amaryan <me@gagik.co>
14
14
  mongodb-devtools-bot[bot] <189715634+mongodb-devtools-bot[bot]@users.noreply.github.com>
15
+ Ubuntu <ubuntu@ip-10-0-5-160.ec2.internal>
16
+ Ubuntu <ubuntu@ip-10-0-4-95.ec2.internal>
@@ -5,7 +5,7 @@ export type MongoshAnalyticsIdentity = {
5
5
  userId?: never;
6
6
  anonymousId: string;
7
7
  };
8
- type AnalyticsIdentifyMessage = MongoshAnalyticsIdentity & {
8
+ export type AnalyticsIdentifyMessage = MongoshAnalyticsIdentity & {
9
9
  traits: {
10
10
  platform: string;
11
11
  session_id: string;
@@ -0,0 +1,7 @@
1
+ export declare class MultiSet<T extends Record<string, unknown>> {
2
+ _entries: Map<string, number>;
3
+ add(entry: T): void;
4
+ clear(): void;
5
+ [Symbol.iterator](): Iterator<[T, number]>;
6
+ }
7
+ export declare function toSnakeCase(str: string): string;
package/lib/helpers.js ADDED
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toSnakeCase = exports.MultiSet = void 0;
4
+ class MultiSet {
5
+ constructor() {
6
+ this._entries = new Map();
7
+ }
8
+ add(entry) {
9
+ var _a;
10
+ const key = JSON.stringify(Object.entries(entry).sort());
11
+ this._entries.set(key, ((_a = this._entries.get(key)) !== null && _a !== void 0 ? _a : 0) + 1);
12
+ }
13
+ clear() {
14
+ this._entries.clear();
15
+ }
16
+ *[Symbol.iterator]() {
17
+ for (const [key, count] of this._entries) {
18
+ yield [Object.fromEntries(JSON.parse(key)), count];
19
+ }
20
+ }
21
+ }
22
+ exports.MultiSet = MultiSet;
23
+ function toSnakeCase(str) {
24
+ const matches = str.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g);
25
+ if (!matches) {
26
+ return str;
27
+ }
28
+ return matches.map((x) => x.toLowerCase()).join('_');
29
+ }
30
+ exports.toSnakeCase = toSnakeCase;
31
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":";;;AAGA,MAAa,QAAQ;IAArB;QACE,aAAQ,GAAwB,IAAI,GAAG,EAAE,CAAC;IAiB5C,CAAC;IAfC,GAAG,CAAC,KAAQ;;QACV,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAED,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QAChB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAEzC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAM,EAAE,KAAK,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;CACF;AAlBD,4BAkBC;AAkBD,SAAgB,WAAW,CAAC,GAAW;IACrC,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CACvB,oEAAoE,CACrE,CAAC;IACF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvD,CAAC;AATD,kCASC"}
package/lib/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
- export { setupLoggerAndTelemetry } from './setup-logger-and-telemetry';
2
1
  export { MongoshAnalytics, ToggleableAnalytics, SampledAnalytics, NoopAnalytics, ThrottledAnalytics, } from './analytics-helpers';
2
+ export { MongoshLoggingAndTelemetry } from './types';
3
+ export { setupLoggingAndTelemetry } from './logging-and-telemetry';
package/lib/index.js CHANGED
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ThrottledAnalytics = exports.NoopAnalytics = exports.SampledAnalytics = exports.ToggleableAnalytics = exports.setupLoggerAndTelemetry = void 0;
4
- var setup_logger_and_telemetry_1 = require("./setup-logger-and-telemetry");
5
- Object.defineProperty(exports, "setupLoggerAndTelemetry", { enumerable: true, get: function () { return setup_logger_and_telemetry_1.setupLoggerAndTelemetry; } });
3
+ exports.setupLoggingAndTelemetry = exports.ThrottledAnalytics = exports.NoopAnalytics = exports.SampledAnalytics = exports.ToggleableAnalytics = void 0;
6
4
  var analytics_helpers_1 = require("./analytics-helpers");
7
5
  Object.defineProperty(exports, "ToggleableAnalytics", { enumerable: true, get: function () { return analytics_helpers_1.ToggleableAnalytics; } });
8
6
  Object.defineProperty(exports, "SampledAnalytics", { enumerable: true, get: function () { return analytics_helpers_1.SampledAnalytics; } });
9
7
  Object.defineProperty(exports, "NoopAnalytics", { enumerable: true, get: function () { return analytics_helpers_1.NoopAnalytics; } });
10
8
  Object.defineProperty(exports, "ThrottledAnalytics", { enumerable: true, get: function () { return analytics_helpers_1.ThrottledAnalytics; } });
9
+ var logging_and_telemetry_1 = require("./logging-and-telemetry");
10
+ Object.defineProperty(exports, "setupLoggingAndTelemetry", { enumerable: true, get: function () { return logging_and_telemetry_1.setupLoggingAndTelemetry; } });
11
11
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,2EAAuE;AAA9D,qIAAA,uBAAuB,OAAA;AAChC,yDAM6B;AAJ3B,wHAAA,mBAAmB,OAAA;AACnB,qHAAA,gBAAgB,OAAA;AAChB,kHAAA,aAAa,OAAA;AACb,uHAAA,kBAAkB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,yDAM6B;AAJ3B,wHAAA,mBAAmB,OAAA;AACnB,qHAAA,gBAAgB,OAAA;AAChB,kHAAA,aAAa,OAAA;AACb,uHAAA,kBAAkB,OAAA;AAGpB,iEAAmE;AAA1D,iIAAA,wBAAwB,OAAA"}
@@ -0,0 +1,2 @@
1
+ import type { MongoshLoggingAndTelemetry, MongoshLoggingAndTelemetryArguments } from './types';
2
+ export declare function setupLoggingAndTelemetry(props: MongoshLoggingAndTelemetryArguments): MongoshLoggingAndTelemetry;
@@ -0,0 +1,429 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.setupLoggingAndTelemetry = void 0;
7
+ const mongodb_redact_1 = __importDefault(require("mongodb-redact"));
8
+ const history_1 = require("@mongosh/history");
9
+ const util_1 = require("util");
10
+ const mongodb_log_writer_1 = require("mongodb-log-writer");
11
+ const mongodb_log_writer_2 = require("mongodb-log-writer");
12
+ const devtools_connect_1 = require("@mongodb-js/devtools-connect");
13
+ const helpers_1 = require("./helpers");
14
+ const stream_1 = require("stream");
15
+ function setupLoggingAndTelemetry(props) {
16
+ const loggingAndTelemetry = new LoggingAndTelemetry(props);
17
+ loggingAndTelemetry.setup();
18
+ return loggingAndTelemetry;
19
+ }
20
+ exports.setupLoggingAndTelemetry = setupLoggingAndTelemetry;
21
+ class LoggingAndTelemetry {
22
+ constructor({ bus, analytics, userTraits, mongoshVersion, }) {
23
+ this.pendingLogEvents = [];
24
+ this.isSetup = false;
25
+ this.isBufferingEvents = false;
26
+ this.busEventState = {
27
+ hasStartedMongoshRepl: false,
28
+ apiCallTracking: {
29
+ isEnabled: false,
30
+ apiCalls: new helpers_1.MultiSet(),
31
+ deprecatedApiCalls: new helpers_1.MultiSet(),
32
+ },
33
+ usesShellOption: false,
34
+ telemetryAnonymousId: undefined,
35
+ userId: undefined,
36
+ };
37
+ this.bus = bus;
38
+ this.analytics = analytics;
39
+ this.log = LoggingAndTelemetry.dummyLogger;
40
+ this.userTraits = userTraits;
41
+ this.mongoshVersion = mongoshVersion;
42
+ }
43
+ setup() {
44
+ if (this.isSetup) {
45
+ throw new Error('Setup can only be called once.');
46
+ }
47
+ this.setupBusEventListeners();
48
+ this.isSetup = true;
49
+ this.isBufferingEvents = true;
50
+ }
51
+ attachLogger(logger) {
52
+ if (!this.isSetup) {
53
+ throw new Error('Run setup() before setting up the log writer.');
54
+ }
55
+ if (this.log !== LoggingAndTelemetry.dummyLogger) {
56
+ throw new Error('Previously set logger has not been detached. Run detachLogger() before setting.');
57
+ }
58
+ this.log = logger;
59
+ this.isBufferingEvents = false;
60
+ this.runAndClearPendingEvents();
61
+ this.bus.emit('mongosh:log-initialized');
62
+ }
63
+ detachLogger() {
64
+ this.log = LoggingAndTelemetry.dummyLogger;
65
+ this.runAndClearPendingEvents();
66
+ }
67
+ runAndClearPendingEvents() {
68
+ let pendingEvent;
69
+ while ((pendingEvent = this.pendingLogEvents.shift())) {
70
+ pendingEvent();
71
+ }
72
+ }
73
+ setupBusEventListeners() {
74
+ const onBus = (event, listener) => {
75
+ this.bus.on(event, ((...args) => {
76
+ if (this.isBufferingEvents) {
77
+ this.pendingLogEvents.push(() => listener(...args));
78
+ return;
79
+ }
80
+ listener(...args);
81
+ }));
82
+ return this.bus;
83
+ };
84
+ const getUserTraits = () => ({
85
+ ...this.userTraits,
86
+ session_id: this.log.logId,
87
+ });
88
+ const getTrackingProperties = () => ({
89
+ mongosh_version: this.mongoshVersion,
90
+ session_id: this.log.logId,
91
+ });
92
+ const getTelemetryUserIdentity = () => {
93
+ var _a;
94
+ return {
95
+ anonymousId: (_a = this.busEventState.telemetryAnonymousId) !== null && _a !== void 0 ? _a : this.busEventState.userId,
96
+ };
97
+ };
98
+ onBus('mongosh:start-mongosh-repl', (ev) => {
99
+ this.log.info('MONGOSH', (0, mongodb_log_writer_2.mongoLogId)(1000000002), 'repl', 'Started REPL', ev);
100
+ this.busEventState.hasStartedMongoshRepl = true;
101
+ });
102
+ onBus('mongosh:start-loading-cli-scripts', (event) => {
103
+ this.log.info('MONGOSH', (0, mongodb_log_writer_2.mongoLogId)(1000000003), 'repl', 'Start loading CLI scripts');
104
+ this.busEventState.usesShellOption = event.usesShellOption;
105
+ });
106
+ onBus('mongosh:connect', (args) => {
107
+ const { uri, resolved_hostname, ...argsWithoutUriAndHostname } = args;
108
+ const connectionUri = uri && (0, history_1.redactURICredentials)(uri);
109
+ const atlasHostname = {
110
+ atlas_hostname: args.is_atlas ? resolved_hostname : null,
111
+ };
112
+ const properties = {
113
+ ...getTrackingProperties(),
114
+ ...argsWithoutUriAndHostname,
115
+ ...atlasHostname,
116
+ };
117
+ this.log.info('MONGOSH', (0, mongodb_log_writer_2.mongoLogId)(1000000004), 'connect', 'Connecting to server', {
118
+ userId: this.busEventState.userId,
119
+ telemetryAnonymousId: this.busEventState.telemetryAnonymousId,
120
+ connectionUri,
121
+ ...properties,
122
+ });
123
+ this.analytics.track({
124
+ ...getTelemetryUserIdentity(),
125
+ event: 'New Connection',
126
+ properties,
127
+ });
128
+ });
129
+ onBus('mongosh:start-session', (args) => {
130
+ const normalizedTimingsArray = Object.entries(args.timings).map(([key, duration]) => {
131
+ const snakeCaseKey = (0, helpers_1.toSnakeCase)(key);
132
+ return [snakeCaseKey, duration];
133
+ });
134
+ const normalizedTimings = Object.fromEntries(normalizedTimingsArray);
135
+ this.analytics.track({
136
+ ...getTelemetryUserIdentity(),
137
+ event: 'Startup Time',
138
+ properties: {
139
+ ...getTrackingProperties(),
140
+ is_interactive: args.isInteractive,
141
+ js_context: args.jsContext,
142
+ ...normalizedTimings,
143
+ },
144
+ });
145
+ });
146
+ onBus('mongosh:new-user', (newTelemetryUserIdentity) => {
147
+ if (!newTelemetryUserIdentity.anonymousId) {
148
+ this.busEventState.userId = newTelemetryUserIdentity.userId;
149
+ }
150
+ this.busEventState.telemetryAnonymousId =
151
+ newTelemetryUserIdentity.anonymousId;
152
+ this.analytics.identify({
153
+ anonymousId: newTelemetryUserIdentity.anonymousId,
154
+ traits: getUserTraits(),
155
+ });
156
+ });
157
+ onBus('mongosh:update-user', (updatedTelemetryUserIdentity) => {
158
+ if (updatedTelemetryUserIdentity.anonymousId) {
159
+ this.busEventState.telemetryAnonymousId =
160
+ updatedTelemetryUserIdentity.anonymousId;
161
+ }
162
+ else {
163
+ this.busEventState.userId = updatedTelemetryUserIdentity.userId;
164
+ }
165
+ this.analytics.identify({
166
+ ...getTelemetryUserIdentity(),
167
+ traits: getUserTraits(),
168
+ });
169
+ this.log.info('MONGOSH', (0, mongodb_log_writer_2.mongoLogId)(1000000005), 'config', 'User updated');
170
+ });
171
+ onBus('mongosh:error', (error, context) => {
172
+ const mongoshError = error;
173
+ this.log[context === 'fatal' ? 'fatal' : 'error']('MONGOSH', (0, mongodb_log_writer_2.mongoLogId)(1000000006), context, `${mongoshError.name}: ${mongoshError.message}`, error);
174
+ if (error.name.includes('Mongosh')) {
175
+ this.analytics.track({
176
+ ...getTelemetryUserIdentity(),
177
+ event: 'Error',
178
+ properties: {
179
+ ...getTrackingProperties(),
180
+ name: mongoshError.name,
181
+ code: mongoshError.code,
182
+ scope: mongoshError.scope,
183
+ metadata: mongoshError.metadata,
184
+ },
185
+ });
186
+ }
187
+ });
188
+ onBus('mongosh:write-custom-log', (event) => {
189
+ this.log[event.method]('MONGOSH-SCRIPTS', (0, mongodb_log_writer_2.mongoLogId)(1000000054), 'custom-log', event.message, event.attr, event.level);
190
+ });
191
+ onBus('mongosh:globalconfig-load', (args) => {
192
+ this.log.info('MONGOSH', (0, mongodb_log_writer_2.mongoLogId)(1000000048), 'config', 'Loading global configuration file', args);
193
+ });
194
+ onBus('mongosh:evaluate-input', (args) => {
195
+ this.log.info('MONGOSH', (0, mongodb_log_writer_2.mongoLogId)(1000000007), 'repl', 'Evaluating input', args);
196
+ });
197
+ onBus('mongosh:use', (args) => {
198
+ this.log.info('MONGOSH', (0, mongodb_log_writer_2.mongoLogId)(1000000008), 'shell-api', 'Used "use" command', args);
199
+ this.analytics.track({
200
+ ...getTelemetryUserIdentity(),
201
+ event: 'Use',
202
+ properties: {
203
+ ...getTrackingProperties(),
204
+ },
205
+ });
206
+ });
207
+ onBus('mongosh:show', (args) => {
208
+ this.log.info('MONGOSH', (0, mongodb_log_writer_2.mongoLogId)(1000000009), 'shell-api', 'Used "show" command', args);
209
+ this.analytics.track({
210
+ ...getTelemetryUserIdentity(),
211
+ event: 'Show',
212
+ properties: {
213
+ ...getTrackingProperties(),
214
+ method: args.method,
215
+ },
216
+ });
217
+ });
218
+ onBus('mongosh:setCtx', (args) => {
219
+ this.log.info('MONGOSH', (0, mongodb_log_writer_2.mongoLogId)(1000000010), 'shell-api', 'Initialized context', args);
220
+ });
221
+ onBus('mongosh:api-call-with-arguments', (args) => {
222
+ let arg;
223
+ try {
224
+ arg = JSON.parse(JSON.stringify(args));
225
+ }
226
+ catch (_a) {
227
+ arg = { _inspected: (0, util_1.inspect)(args) };
228
+ }
229
+ this.log.info('MONGOSH', (0, mongodb_log_writer_2.mongoLogId)(1000000011), 'shell-api', 'Performed API call', (0, mongodb_redact_1.default)(arg));
230
+ });
231
+ onBus('mongosh:api-load-file', (args) => {
232
+ this.log.info('MONGOSH', (0, mongodb_log_writer_2.mongoLogId)(1000000012), 'shell-api', 'Loading file via load()', args);
233
+ this.analytics.track({
234
+ ...getTelemetryUserIdentity(),
235
+ event: this.busEventState.hasStartedMongoshRepl
236
+ ? 'Script Loaded'
237
+ : 'Script Loaded CLI',
238
+ properties: {
239
+ ...getTrackingProperties(),
240
+ nested: args.nested,
241
+ ...(this.busEventState.hasStartedMongoshRepl
242
+ ? {}
243
+ : { shell: this.busEventState.usesShellOption }),
244
+ },
245
+ });
246
+ });
247
+ onBus('mongosh:eval-cli-script', () => {
248
+ this.log.info('MONGOSH', (0, mongodb_log_writer_2.mongoLogId)(1000000013), 'repl', 'Evaluating script passed on the command line');
249
+ this.analytics.track({
250
+ ...getTelemetryUserIdentity(),
251
+ event: 'Script Evaluated',
252
+ properties: {
253
+ ...getTrackingProperties(),
254
+ shell: this.busEventState.usesShellOption,
255
+ },
256
+ });
257
+ });
258
+ onBus('mongosh:mongoshrc-load', () => {
259
+ this.log.info('MONGOSH', (0, mongodb_log_writer_2.mongoLogId)(1000000014), 'repl', 'Loading .mongoshrc.js');
260
+ this.analytics.track({
261
+ ...getTelemetryUserIdentity(),
262
+ event: 'Mongoshrc Loaded',
263
+ properties: {
264
+ ...getTrackingProperties(),
265
+ },
266
+ });
267
+ });
268
+ onBus('mongosh:mongoshrc-mongorc-warn', () => {
269
+ this.log.info('MONGOSH', (0, mongodb_log_writer_2.mongoLogId)(1000000015), 'repl', 'Warning about .mongorc.js/.mongoshrc.js mismatch');
270
+ this.analytics.track({
271
+ ...getTelemetryUserIdentity(),
272
+ event: 'Mongorc Warning',
273
+ properties: {
274
+ ...getTrackingProperties(),
275
+ },
276
+ });
277
+ });
278
+ onBus('mongosh:crypt-library-load-skip', (ev) => {
279
+ this.log.info('AUTO-ENCRYPTION', (0, mongodb_log_writer_2.mongoLogId)(1000000050), 'crypt-library', 'Skipping shared library candidate', ev);
280
+ });
281
+ onBus('mongosh:crypt-library-load-found', (ev) => {
282
+ this.log.warn('AUTO-ENCRYPTION', (0, mongodb_log_writer_2.mongoLogId)(1000000051), 'crypt-library', 'Accepted shared library candidate', {
283
+ cryptSharedLibPath: ev.cryptSharedLibPath,
284
+ expectedVersion: ev.expectedVersion.versionStr,
285
+ });
286
+ });
287
+ onBus('mongosh-snippets:loaded', (ev) => {
288
+ this.log.info('MONGOSH-SNIPPETS', (0, mongodb_log_writer_2.mongoLogId)(1000000019), 'snippets', 'Loaded snippets', ev);
289
+ });
290
+ onBus('mongosh-snippets:npm-lookup', (ev) => {
291
+ this.log.info('MONGOSH-SNIPPETS', (0, mongodb_log_writer_2.mongoLogId)(1000000020), 'snippets', 'Performing npm lookup', ev);
292
+ });
293
+ onBus('mongosh-snippets:npm-lookup-stopped', () => {
294
+ this.log.info('MONGOSH-SNIPPETS', (0, mongodb_log_writer_2.mongoLogId)(1000000021), 'snippets', 'npm lookup stopped');
295
+ });
296
+ onBus('mongosh-snippets:npm-download-failed', (ev) => {
297
+ this.log.info('MONGOSH-SNIPPETS', (0, mongodb_log_writer_2.mongoLogId)(1000000022), 'snippets', 'npm download failed', ev);
298
+ });
299
+ onBus('mongosh-snippets:npm-download-active', (ev) => {
300
+ this.log.info('MONGOSH-SNIPPETS', (0, mongodb_log_writer_2.mongoLogId)(1000000023), 'snippets', 'npm download active', ev);
301
+ });
302
+ onBus('mongosh-snippets:fetch-index', (ev) => {
303
+ this.log.info('MONGOSH-SNIPPETS', (0, mongodb_log_writer_2.mongoLogId)(1000000024), 'snippets', 'Fetching snippet index', ev);
304
+ });
305
+ onBus('mongosh-snippets:fetch-cache-invalid', () => {
306
+ this.log.info('MONGOSH-SNIPPETS', (0, mongodb_log_writer_2.mongoLogId)(1000000025), 'snippets', 'Snippet cache invalid');
307
+ });
308
+ onBus('mongosh-snippets:fetch-index-error', (ev) => {
309
+ this.log.info('MONGOSH-SNIPPETS', (0, mongodb_log_writer_2.mongoLogId)(1000000026), 'snippets', 'Fetching snippet index failed', ev);
310
+ });
311
+ onBus('mongosh-snippets:fetch-index-done', () => {
312
+ this.log.info('MONGOSH-SNIPPETS', (0, mongodb_log_writer_2.mongoLogId)(1000000027), 'snippets', 'Fetching snippet index done');
313
+ });
314
+ onBus('mongosh-snippets:package-json-edit-error', (ev) => {
315
+ this.log.info('MONGOSH-SNIPPETS', (0, mongodb_log_writer_2.mongoLogId)(1000000028), 'snippets', 'Modifying snippets package.json failed', ev);
316
+ });
317
+ onBus('mongosh-snippets:spawn-child', (ev) => {
318
+ this.log.info('MONGOSH-SNIPPETS', (0, mongodb_log_writer_2.mongoLogId)(1000000029), 'snippets', 'Spawning helper', ev);
319
+ });
320
+ onBus('mongosh-snippets:load-snippet', (ev) => {
321
+ this.log.info('MONGOSH-SNIPPETS', (0, mongodb_log_writer_2.mongoLogId)(1000000030), 'snippets', 'Loading snippet', ev);
322
+ });
323
+ onBus('mongosh-snippets:snippet-command', (ev) => {
324
+ this.log.info('MONGOSH-SNIPPETS', (0, mongodb_log_writer_2.mongoLogId)(1000000031), 'snippets', 'Running snippet command', ev);
325
+ if (ev.args[0] === 'install') {
326
+ this.analytics.track({
327
+ ...getTelemetryUserIdentity(),
328
+ event: 'Snippet Install',
329
+ properties: {
330
+ ...getTrackingProperties(),
331
+ },
332
+ });
333
+ }
334
+ });
335
+ onBus('mongosh-snippets:transform-error', (ev) => {
336
+ this.log.info('MONGOSH-SNIPPETS', (0, mongodb_log_writer_2.mongoLogId)(1000000032), 'snippets', 'Rewrote error message', ev);
337
+ });
338
+ onBus('mongosh:api-call', (ev) => {
339
+ if (!this.busEventState.apiCallTracking.isEnabled)
340
+ return;
341
+ const { apiCalls, deprecatedApiCalls } = this.busEventState.apiCallTracking;
342
+ if (ev.deprecated) {
343
+ deprecatedApiCalls.add({ class: ev.class, method: ev.method });
344
+ }
345
+ if (ev.callDepth === 0 && ev.isAsync) {
346
+ apiCalls.add({ class: ev.class, method: ev.method });
347
+ }
348
+ });
349
+ onBus('mongosh:evaluate-started', () => {
350
+ const { apiCalls, deprecatedApiCalls } = this.busEventState.apiCallTracking;
351
+ this.busEventState.apiCallTracking.isEnabled = true;
352
+ deprecatedApiCalls.clear();
353
+ apiCalls.clear();
354
+ });
355
+ onBus('mongosh:evaluate-finished', () => {
356
+ const { apiCalls, deprecatedApiCalls } = this.busEventState.apiCallTracking;
357
+ for (const [entry] of deprecatedApiCalls) {
358
+ this.log.warn('MONGOSH', (0, mongodb_log_writer_2.mongoLogId)(1000000033), 'shell-api', 'Deprecated API call', entry);
359
+ this.analytics.track({
360
+ ...getTelemetryUserIdentity(),
361
+ event: 'Deprecated Method',
362
+ properties: {
363
+ ...getTrackingProperties(),
364
+ ...entry,
365
+ },
366
+ });
367
+ }
368
+ for (const [entry, count] of apiCalls) {
369
+ this.analytics.track({
370
+ ...getTelemetryUserIdentity(),
371
+ event: 'API Call',
372
+ properties: {
373
+ ...getTrackingProperties(),
374
+ ...entry,
375
+ count,
376
+ },
377
+ });
378
+ }
379
+ deprecatedApiCalls.clear();
380
+ apiCalls.clear();
381
+ this.busEventState.apiCallTracking.isEnabled = false;
382
+ });
383
+ onBus('mongosh-sp:reset-connection-options', () => {
384
+ this.log.info('MONGOSH-SP', (0, mongodb_log_writer_2.mongoLogId)(1000000040), 'connect', 'Reconnect because of changed connection options');
385
+ });
386
+ onBus('mongosh-editor:run-edit-command', (ev) => {
387
+ this.log.error('MONGOSH-EDITOR', (0, mongodb_log_writer_2.mongoLogId)(1000000047), 'editor', 'Open external editor', (0, mongodb_redact_1.default)(ev));
388
+ });
389
+ onBus('mongosh-editor:read-vscode-extensions-done', (ev) => {
390
+ this.log.error('MONGOSH-EDITOR', (0, mongodb_log_writer_2.mongoLogId)(1000000043), 'editor', 'Reading vscode extensions from file system succeeded', ev);
391
+ });
392
+ onBus('mongosh-editor:read-vscode-extensions-failed', (ev) => {
393
+ this.log.error('MONGOSH-EDITOR', (0, mongodb_log_writer_2.mongoLogId)(1000000044), 'editor', 'Reading vscode extensions from file system failed', {
394
+ ...ev,
395
+ error: ev.error.message,
396
+ });
397
+ });
398
+ onBus('mongosh:fetching-update-metadata', (ev) => {
399
+ this.log.info('MONGOSH', (0, mongodb_log_writer_2.mongoLogId)(1000000052), 'startup', 'Fetching update metadata', {
400
+ ...ev,
401
+ });
402
+ });
403
+ onBus('mongosh:fetching-update-metadata-complete', (ev) => {
404
+ this.log.info('MONGOSH', (0, mongodb_log_writer_2.mongoLogId)(1000000053), 'startup', 'Fetching update metadata complete', {
405
+ ...ev,
406
+ });
407
+ });
408
+ (0, devtools_connect_1.hookLogger)(this.bus, {
409
+ info: (...args) => {
410
+ return this.log.info(...args);
411
+ },
412
+ warn: (...args) => {
413
+ return this.log.warn(...args);
414
+ },
415
+ error: (...args) => {
416
+ return this.log.error(...args);
417
+ },
418
+ mongoLogId: (...args) => {
419
+ return this.log.mongoLogId(...args);
420
+ },
421
+ }, 'mongosh', (uri) => (0, history_1.redactURICredentials)(uri));
422
+ }
423
+ }
424
+ LoggingAndTelemetry.dummyLogger = new mongodb_log_writer_1.MongoLogWriter('', null, new stream_1.Writable({
425
+ write(chunk, encoding, callback) {
426
+ callback();
427
+ },
428
+ }));
429
+ //# sourceMappingURL=logging-and-telemetry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging-and-telemetry.js","sourceRoot":"","sources":["../src/logging-and-telemetry.ts"],"names":[],"mappings":";;;;;;AAAA,oEAAwC;AACxC,8CAAwD;AAmCxD,+BAA+B;AAC/B,2DAAoD;AACpD,2DAAgD;AAOhD,mEAA0D;AAC1D,uCAAkD;AAClD,mCAAkC;AAQlC,SAAgB,wBAAwB,CACtC,KAA0C;IAE1C,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAE3D,mBAAmB,CAAC,KAAK,EAAE,CAAC;IAC5B,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAPD,4DAOC;AAED,MAAM,mBAAmB;IAwBvB,YAAY,EACV,GAAG,EACH,SAAS,EACT,UAAU,EACV,cAAc,GACsB;QAT9B,qBAAgB,GAAuB,EAAE,CAAC;QAC1C,YAAO,GAAG,KAAK,CAAC;QAChB,sBAAiB,GAAG,KAAK,CAAC;QAwD1B,kBAAa,GAAqC;YAKxD,qBAAqB,EAAE,KAAK;YAC5B,eAAe,EAAE;gBACf,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,IAAI,kBAAQ,EAAsC;gBAC5D,kBAAkB,EAAE,IAAI,kBAAQ,EAAsC;aACvE;YACD,eAAe,EAAE,KAAK;YACtB,oBAAoB,EAAE,SAAS;YAC/B,MAAM,EAAE,SAAS;SAClB,CAAC;QA9DA,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,GAAG,GAAG,mBAAmB,CAAC,WAAW,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAEM,KAAK;QACV,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;IAEM,YAAY,CAAC,MAAsB;QACxC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,KAAK,mBAAmB,CAAC,WAAW,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CACb,iFAAiF,CAClF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC;QAClB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAE/B,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAEhC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAC3C,CAAC;IAEM,YAAY;QACjB,IAAI,CAAC,GAAG,GAAG,mBAAmB,CAAC,WAAW,CAAC;QAE3C,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IAEO,wBAAwB;QAC9B,IAAI,YAA0C,CAAC;QAC/C,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;YACtD,YAAY,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAmBO,sBAAsB;QAC5B,MAAM,KAAK,GAAG,CAUZ,KAAQ,EACR,QAAqD,EACrD,EAAE;YACF,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,IAA8B,EAAE,EAAE;gBACxD,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBAC3B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;oBACpD,OAAO;gBACT,CAAC;gBAED,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;YACpB,CAAC,CAA2B,CAAC,CAAC;YAC9B,OAAO,IAAI,CAAC,GAAG,CAAC;QAClB,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,GAAuC,EAAE,CAAC,CAAC;YAC/D,GAAG,IAAI,CAAC,UAAU;YAClB,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK;SAC3B,CAAC,CAAC;QAEH,MAAM,qBAAqB,GAAG,GAA8B,EAAE,CAAC,CAAC;YAC9D,eAAe,EAAE,IAAI,CAAC,cAAc;YACpC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK;SAC3B,CAAC,CAAC;QAEH,MAAM,wBAAwB,GAAG,GAA6B,EAAE;;YAC9D,OAAO;gBACL,WAAW,EACT,MAAA,IAAI,CAAC,aAAa,CAAC,oBAAoB,mCACtC,IAAI,CAAC,aAAa,CAAC,MAAiB;aACxC,CAAC;QACJ,CAAC,CAAC;QAEF,KAAK,CAAC,4BAA4B,EAAE,CAAC,EAAyB,EAAE,EAAE;YAChE,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,EACT,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,MAAM,EACN,cAAc,EACd,EAAE,CACH,CAAC;YACF,IAAI,CAAC,aAAa,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,KAAK,CACH,mCAAmC,EACnC,CAAC,KAAkC,EAAE,EAAE;YACrC,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,EACT,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,MAAM,EACN,2BAA2B,CAC5B,CAAC;YACF,IAAI,CAAC,aAAa,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;QAC7D,CAAC,CACF,CAAC;QAEF,KAAK,CAAC,iBAAiB,EAAE,CAAC,IAAkB,EAAE,EAAE;YAC9C,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAAE,GAAG,yBAAyB,EAAE,GAAG,IAAI,CAAC;YACtE,MAAM,aAAa,GAAG,GAAG,IAAI,IAAA,8BAAoB,EAAC,GAAG,CAAC,CAAC;YACvD,MAAM,aAAa,GAAG;gBACpB,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI;aACzD,CAAC;YACF,MAAM,UAAU,GAAG;gBACjB,GAAG,qBAAqB,EAAE;gBAC1B,GAAG,yBAAyB;gBAC5B,GAAG,aAAa;aACjB,CAAC;YAEF,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,EACT,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,SAAS,EACT,sBAAsB,EACtB;gBACE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM;gBACjC,oBAAoB,EAAE,IAAI,CAAC,aAAa,CAAC,oBAAoB;gBAC7D,aAAa;gBACb,GAAG,UAAU;aACd,CACF,CAAC;YAEF,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBACnB,GAAG,wBAAwB,EAAE;gBAC7B,KAAK,EAAE,gBAAgB;gBACvB,UAAU;aACX,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,uBAAuB,EAAE,CAAC,IAAyB,EAAE,EAAE;YAC3D,MAAM,sBAAsB,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAC7D,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,EAAE;gBAClB,MAAM,YAAY,GAAG,IAAA,qBAAW,EAAC,GAAG,CAAC,CAAC;gBACtC,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YAClC,CAAC,CACF,CAAC;YAEF,MAAM,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;YACrE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBACnB,GAAG,wBAAwB,EAAE;gBAC7B,KAAK,EAAE,cAAc;gBACrB,UAAU,EAAE;oBACV,GAAG,qBAAqB,EAAE;oBAC1B,cAAc,EAAE,IAAI,CAAC,aAAa;oBAClC,UAAU,EAAE,IAAI,CAAC,SAAS;oBAC1B,GAAG,iBAAiB;iBACrB;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,KAAK,CACH,kBAAkB,EAClB,CAAC,wBAAiE,EAAE,EAAE;YACpE,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,CAAC;gBAC1C,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,wBAAwB,CAAC,MAAM,CAAC;YAC9D,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,oBAAoB;gBACrC,wBAAwB,CAAC,WAAW,CAAC;YACvC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;gBACtB,WAAW,EAAE,wBAAwB,CAAC,WAAW;gBACjD,MAAM,EAAE,aAAa,EAAE;aACxB,CAAC,CAAC;QACL,CAAC,CACF,CAAC;QAEF,KAAK,CACH,qBAAqB,EACrB,CAAC,4BAGA,EAAE,EAAE;YACH,IAAI,4BAA4B,CAAC,WAAW,EAAE,CAAC;gBAC7C,IAAI,CAAC,aAAa,CAAC,oBAAoB;oBACrC,4BAA4B,CAAC,WAAW,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,4BAA4B,CAAC,MAAM,CAAC;YAClE,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;gBACtB,GAAG,wBAAwB,EAAE;gBAC7B,MAAM,EAAE,aAAa,EAAE;aACxB,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,EACT,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,QAAQ,EACR,cAAc,CACf,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,KAAK,CAAC,eAAe,EAAE,CAAC,KAAY,EAAE,OAAe,EAAE,EAAE;YACvD,MAAM,YAAY,GAAG,KAMpB,CAAC;YAEF,IAAI,CAAC,GAAG,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAC/C,SAAS,EACT,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,OAAO,EACP,GAAG,YAAY,CAAC,IAAI,KAAK,YAAY,CAAC,OAAO,EAAE,EAC/C,KAAK,CACN,CAAC;YAEF,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;oBACnB,GAAG,wBAAwB,EAAE;oBAC7B,KAAK,EAAE,OAAO;oBACd,UAAU,EAAE;wBACV,GAAG,qBAAqB,EAAE;wBAC1B,IAAI,EAAE,YAAY,CAAC,IAAI;wBACvB,IAAI,EAAE,YAAY,CAAC,IAAI;wBACvB,KAAK,EAAE,YAAY,CAAC,KAAK;wBACzB,QAAQ,EAAE,YAAY,CAAC,QAAQ;qBAChC;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,0BAA0B,EAAE,CAAC,KAA0B,EAAE,EAAE;YAC/D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CACpB,iBAAiB,EACjB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,YAAY,EACZ,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,KAAK,CACZ,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,2BAA2B,EAAE,CAAC,IAA+B,EAAE,EAAE;YACrE,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,EACT,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,QAAQ,EACR,mCAAmC,EACnC,IAAI,CACL,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,wBAAwB,EAAE,CAAC,IAAwB,EAAE,EAAE;YAC3D,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,EACT,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,MAAM,EACN,kBAAkB,EAClB,IAAI,CACL,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,aAAa,EAAE,CAAC,IAAc,EAAE,EAAE;YACtC,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,EACT,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,WAAW,EACX,oBAAoB,EACpB,IAAI,CACL,CAAC;YAEF,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBACnB,GAAG,wBAAwB,EAAE;gBAC7B,KAAK,EAAE,KAAK;gBACZ,UAAU,EAAE;oBACV,GAAG,qBAAqB,EAAE;iBAC3B;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,cAAc,EAAE,CAAC,IAAe,EAAE,EAAE;YACxC,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,EACT,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,WAAW,EACX,qBAAqB,EACrB,IAAI,CACL,CAAC;YAEF,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBACnB,GAAG,wBAAwB,EAAE;gBAC7B,KAAK,EAAE,MAAM;gBACb,UAAU,EAAE;oBACV,GAAG,qBAAqB,EAAE;oBAC1B,MAAM,EAAE,IAAI,CAAC,MAAM;iBACpB;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,gBAAgB,EAAE,CAAC,IAA2B,EAAE,EAAE;YACtD,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,EACT,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,WAAW,EACX,qBAAqB,EACrB,IAAI,CACL,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,iCAAiC,EAAE,CAAC,IAA2B,EAAE,EAAE;YAEvE,IAAI,GAAG,CAAC;YACR,IAAI,CAAC;gBACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YACzC,CAAC;YAAC,WAAM,CAAC;gBACP,GAAG,GAAG,EAAE,UAAU,EAAE,IAAA,cAAO,EAAC,IAAI,CAAC,EAAE,CAAC;YACtC,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,EACT,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,WAAW,EACX,oBAAoB,EACpB,IAAA,wBAAU,EAAC,GAAG,CAAC,CAChB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,uBAAuB,EAAE,CAAC,IAAyB,EAAE,EAAE;YAC3D,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,EACT,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,WAAW,EACX,yBAAyB,EACzB,IAAI,CACL,CAAC;YAEF,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBACnB,GAAG,wBAAwB,EAAE;gBAC7B,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,qBAAqB;oBAC7C,CAAC,CAAC,eAAe;oBACjB,CAAC,CAAC,mBAAmB;gBACvB,UAAU,EAAE;oBACV,GAAG,qBAAqB,EAAE;oBAC1B,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB;wBAC1C,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;iBACnD;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,yBAAyB,EAAE,GAAG,EAAE;YACpC,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,EACT,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,MAAM,EACN,8CAA8C,CAC/C,CAAC;YAEF,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBACnB,GAAG,wBAAwB,EAAE;gBAC7B,KAAK,EAAE,kBAAkB;gBACzB,UAAU,EAAE;oBACV,GAAG,qBAAqB,EAAE;oBAC1B,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,eAAe;iBAC1C;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,wBAAwB,EAAE,GAAG,EAAE;YACnC,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,EACT,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,MAAM,EACN,uBAAuB,CACxB,CAAC;YAEF,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBACnB,GAAG,wBAAwB,EAAE;gBAC7B,KAAK,EAAE,kBAAkB;gBACzB,UAAU,EAAE;oBACV,GAAG,qBAAqB,EAAE;iBAC3B;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,gCAAgC,EAAE,GAAG,EAAE;YAC3C,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,EACT,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,MAAM,EACN,kDAAkD,CACnD,CAAC;YAEF,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBACnB,GAAG,wBAAwB,EAAE;gBAC7B,KAAK,EAAE,iBAAiB;gBACxB,UAAU,EAAE;oBACV,GAAG,qBAAqB,EAAE;iBAC3B;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,iCAAiC,EAAE,CAAC,EAAyB,EAAE,EAAE;YACrE,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,iBAAiB,EACjB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,eAAe,EACf,mCAAmC,EACnC,EAAE,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,kCAAkC,EAAE,CAAC,EAA0B,EAAE,EAAE;YACvE,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,iBAAiB,EACjB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,eAAe,EACf,mCAAmC,EACnC;gBACE,kBAAkB,EAAE,EAAE,CAAC,kBAAkB;gBACzC,eAAe,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU;aAC/C,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,yBAAyB,EAAE,CAAC,EAAuB,EAAE,EAAE;YAC3D,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,kBAAkB,EAClB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,UAAU,EACV,iBAAiB,EACjB,EAAE,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,6BAA6B,EAAE,CAAC,EAA0B,EAAE,EAAE;YAClE,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,kBAAkB,EAClB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,UAAU,EACV,uBAAuB,EACvB,EAAE,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAChD,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,kBAAkB,EAClB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,UAAU,EACV,oBAAoB,CACrB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CACH,sCAAsC,EACtC,CAAC,EAAkC,EAAE,EAAE;YACrC,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,kBAAkB,EAClB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,UAAU,EACV,qBAAqB,EACrB,EAAE,CACH,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,KAAK,CACH,sCAAsC,EACtC,CAAC,EAAkC,EAAE,EAAE;YACrC,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,kBAAkB,EAClB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,UAAU,EACV,qBAAqB,EACrB,EAAE,CACH,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,KAAK,CAAC,8BAA8B,EAAE,CAAC,EAA2B,EAAE,EAAE;YACpE,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,kBAAkB,EAClB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,UAAU,EACV,wBAAwB,EACxB,EAAE,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,sCAAsC,EAAE,GAAG,EAAE;YACjD,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,kBAAkB,EAClB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,UAAU,EACV,uBAAuB,CACxB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CACH,oCAAoC,EACpC,CAAC,EAAgC,EAAE,EAAE;YACnC,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,kBAAkB,EAClB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,UAAU,EACV,+BAA+B,EAC/B,EAAE,CACH,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,KAAK,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC9C,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,kBAAkB,EAClB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,UAAU,EACV,6BAA6B,CAC9B,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,KAAK,CACH,0CAA0C,EAC1C,CAAC,EAAsB,EAAE,EAAE;YACzB,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,kBAAkB,EAClB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,UAAU,EACV,wCAAwC,EACxC,EAAE,CACH,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,KAAK,CAAC,8BAA8B,EAAE,CAAC,EAAuB,EAAE,EAAE;YAChE,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,kBAAkB,EAClB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,UAAU,EACV,iBAAiB,EACjB,EAAE,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,+BAA+B,EAAE,CAAC,EAA4B,EAAE,EAAE;YACtE,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,kBAAkB,EAClB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,UAAU,EACV,iBAAiB,EACjB,EAAE,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,kCAAkC,EAAE,CAAC,EAAwB,EAAE,EAAE;YACrE,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,kBAAkB,EAClB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,UAAU,EACV,yBAAyB,EACzB,EAAE,CACH,CAAC;YAEF,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC7B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;oBACnB,GAAG,wBAAwB,EAAE;oBAC7B,KAAK,EAAE,iBAAiB;oBACxB,UAAU,EAAE;wBACV,GAAG,qBAAqB,EAAE;qBAC3B;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,KAAK,CACH,kCAAkC,EAClC,CAAC,EAA+B,EAAE,EAAE;YAClC,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,kBAAkB,EAClB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,UAAU,EACV,uBAAuB,EACvB,EAAE,CACH,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,KAAK,CAAC,kBAAkB,EAAE,CAAC,EAAY,EAAE,EAAE;YAEzC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS;gBAAE,OAAO;YAC1D,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GACpC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;YACrC,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC;gBAClB,kBAAkB,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;YACjE,CAAC;YACD,IAAI,EAAE,CAAC,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;gBACrC,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;YACvD,CAAC;QACH,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,0BAA0B,EAAE,GAAG,EAAE;YACrC,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GACpC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;YACrC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS,GAAG,IAAI,CAAC;YAKpD,kBAAkB,CAAC,KAAK,EAAE,CAAC;YAC3B,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACtC,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GACpC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;YACrC,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI,kBAAkB,EAAE,CAAC;gBACzC,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,EACT,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,WAAW,EACX,qBAAqB,EACrB,KAAK,CACN,CAAC;gBAEF,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;oBACnB,GAAG,wBAAwB,EAAE;oBAC7B,KAAK,EAAE,mBAAmB;oBAC1B,UAAU,EAAE;wBACV,GAAG,qBAAqB,EAAE;wBAC1B,GAAG,KAAK;qBACT;iBACF,CAAC,CAAC;YACL,CAAC;YACD,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACtC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;oBACnB,GAAG,wBAAwB,EAAE;oBAC7B,KAAK,EAAE,UAAU;oBACjB,UAAU,EAAE;wBACV,GAAG,qBAAqB,EAAE;wBAC1B,GAAG,KAAK;wBACR,KAAK;qBACN;iBACF,CAAC,CAAC;YACL,CAAC;YACD,kBAAkB,CAAC,KAAK,EAAE,CAAC;YAC3B,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS,GAAG,KAAK,CAAC;QACvD,CAAC,CAAC,CAAC;QAMH,KAAK,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAChD,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,YAAY,EACZ,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,SAAS,EACT,iDAAiD,CAClD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CACH,iCAAiC,EACjC,CAAC,EAA6B,EAAE,EAAE;YAChC,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,gBAAgB,EAChB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,QAAQ,EACR,sBAAsB,EACtB,IAAA,wBAAU,EAAC,EAAE,CAAC,CACf,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,KAAK,CACH,4CAA4C,EAC5C,CAAC,EAAuC,EAAE,EAAE;YAC1C,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,gBAAgB,EAChB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,QAAQ,EACR,sDAAsD,EACtD,EAAE,CACH,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,KAAK,CACH,8CAA8C,EAC9C,CAAC,EAAyC,EAAE,EAAE;YAC5C,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,gBAAgB,EAChB,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,QAAQ,EACR,mDAAmD,EACnD;gBACE,GAAG,EAAE;gBACL,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO;aACxB,CACF,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,KAAK,CACH,kCAAkC,EAClC,CAAC,EAA+B,EAAE,EAAE;YAClC,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,EACT,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,SAAS,EACT,0BAA0B,EAC1B;gBACE,GAAG,EAAE;aACN,CACF,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,KAAK,CACH,2CAA2C,EAC3C,CAAC,EAAuC,EAAE,EAAE;YAC1C,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,EACT,IAAA,+BAAU,EAAC,UAAa,CAAC,EACzB,SAAS,EACT,mCAAmC,EACnC;gBACE,GAAG,EAAE;aACN,CACF,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,IAAA,6BAAU,EACR,IAAI,CAAC,GAAG,EACR;YACE,IAAI,EAAE,CAAC,GAAG,IAAsC,EAAE,EAAE;gBAClD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YAChC,CAAC;YACD,IAAI,EAAE,CAAC,GAAG,IAAsC,EAAE,EAAE;gBAClD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YAChC,CAAC;YACD,KAAK,EAAE,CAAC,GAAG,IAAuC,EAAE,EAAE;gBACpD,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;YACjC,CAAC;YACD,UAAU,EAAE,CAAC,GAAG,IAA4C,EAAE,EAAE;gBAC9D,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC;YACtC,CAAC;SACF,EACD,SAAS,EACT,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,8BAAoB,EAAC,GAAG,CAAC,CACnC,CAAC;IACJ,CAAC;;AApyBc,+BAAW,GAAG,IAAI,mCAAc,CAC7C,EAAE,EACF,IAAI,EACJ,IAAI,iBAAQ,CAAC;IACX,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ;QAC7B,QAAQ,EAAE,CAAC;IACb,CAAC;CACF,CAAC,CACH,AARyB,CAQxB"}
package/lib/types.d.ts ADDED
@@ -0,0 +1,33 @@
1
+ import type { ApiEvent, MongoshBus } from '@mongosh/types';
2
+ import type { MongoLogWriter } from 'mongodb-log-writer';
3
+ import type { MongoshAnalytics } from './analytics-helpers';
4
+ import type { MultiSet } from './helpers';
5
+ export interface MongoshLoggingAndTelemetry {
6
+ attachLogger(logger: MongoLogWriter): void;
7
+ detachLogger(): void;
8
+ }
9
+ export type MongoshLoggingAndTelemetryArguments = {
10
+ bus: MongoshBus;
11
+ analytics: MongoshAnalytics;
12
+ userTraits: {
13
+ platform: string;
14
+ } & {
15
+ [key: string]: unknown;
16
+ };
17
+ mongoshVersion: string;
18
+ };
19
+ export type MongoshTrackingProperties = {
20
+ mongosh_version: string;
21
+ session_id: string;
22
+ };
23
+ export type LoggingAndTelemetryBusEventState = {
24
+ hasStartedMongoshRepl: boolean;
25
+ apiCallTracking: {
26
+ isEnabled: boolean;
27
+ apiCalls: MultiSet<Pick<ApiEvent, 'class' | 'method'>>;
28
+ deprecatedApiCalls: MultiSet<Pick<ApiEvent, 'class' | 'method'>>;
29
+ };
30
+ usesShellOption: boolean;
31
+ telemetryAnonymousId: string | undefined;
32
+ userId: string | undefined;
33
+ };
package/lib/types.js ADDED
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mongosh/logging",
3
- "version": "3.2.0",
3
+ "version": "3.5.0",
4
4
  "description": "MongoDB Shell Logging Utilities Package",
5
5
  "homepage": "https://github.com/mongodb-js/mongosh",
6
6
  "license": "Apache-2.0",
@@ -19,9 +19,9 @@
19
19
  "dependencies": {
20
20
  "@mongodb-js/devtools-connect": "^3.4.1",
21
21
  "@mongosh/errors": "2.4.0",
22
- "@mongosh/history": "2.4.2",
23
- "@mongosh/types": "3.2.0",
24
- "mongodb-log-writer": "^2.1.0",
22
+ "@mongosh/history": "2.4.5",
23
+ "@mongosh/types": "3.5.0",
24
+ "mongodb-log-writer": "^2.3.1",
25
25
  "mongodb-redact": "^1.1.5"
26
26
  },
27
27
  "devDependencies": {
@@ -49,5 +49,5 @@
49
49
  "mongosh": {
50
50
  "unitTestsOnly": true
51
51
  },
52
- "gitHead": "032d3b89b55f9ddeac19afad76e7c9218a4a83f2"
52
+ "gitHead": "4a09f590a638f320b1809a9a483172b21e222417"
53
53
  }
@@ -11,7 +11,7 @@ export type MongoshAnalyticsIdentity =
11
11
  anonymousId: string;
12
12
  };
13
13
 
14
- type AnalyticsIdentifyMessage = MongoshAnalyticsIdentity & {
14
+ export type AnalyticsIdentifyMessage = MongoshAnalyticsIdentity & {
15
15
  traits: { platform: string; session_id: string };
16
16
  timestamp?: Date;
17
17
  };