@webex/plugin-logger 3.0.0-beta.9 → 3.0.0-bnr.2

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/src/logger.js CHANGED
@@ -3,17 +3,8 @@
3
3
  */
4
4
 
5
5
  import {inBrowser, patterns} from '@webex/common';
6
- import {
7
- WebexHttpError,
8
- WebexPlugin
9
- } from '@webex/webex-core';
10
- import {
11
- cloneDeep,
12
- has,
13
- isArray,
14
- isObject,
15
- isString
16
- } from 'lodash';
6
+ import {WebexHttpError, WebexPlugin} from '@webex/webex-core';
7
+ import {cloneDeep, has, isArray, isObject, isString} from 'lodash';
17
8
 
18
9
  const precedence = {
19
10
  silent: 0,
@@ -24,7 +15,7 @@ const precedence = {
24
15
  log: 5,
25
16
  info: 6,
26
17
  debug: 7,
27
- trace: 8
18
+ trace: 8,
28
19
  };
29
20
 
30
21
  export const levels = Object.keys(precedence).filter((level) => level !== 'silent');
@@ -34,12 +25,12 @@ const fallbacks = {
34
25
  warn: ['error', 'log'],
35
26
  info: ['log'],
36
27
  debug: ['info', 'log'],
37
- trace: ['debug', 'info', 'log']
28
+ trace: ['debug', 'info', 'log'],
38
29
  };
39
30
 
40
31
  const LOG_TYPES = {
41
32
  SDK: 'sdk',
42
- CLIENT: 'client'
33
+ CLIENT: 'client',
43
34
  };
44
35
 
45
36
  const SDK_LOG_TYPE_NAME = 'wx-js-sdk';
@@ -77,8 +68,7 @@ function walkAndFilter(object, visited = []) {
77
68
  for (const [key, value] of Object.entries(object)) {
78
69
  if (authTokenKeyPattern.test(key)) {
79
70
  Reflect.deleteProperty(object, key);
80
- }
81
- else {
71
+ } else {
82
72
  object[key] = walkAndFilter(value, visited);
83
73
  }
84
74
  }
@@ -97,14 +87,14 @@ const Logger = WebexPlugin.extend({
97
87
  cache: false,
98
88
  fn() {
99
89
  return this.getCurrentLevel();
100
- }
90
+ },
101
91
  },
102
92
  client_level: {
103
93
  cache: false,
104
94
  fn() {
105
95
  return this.getCurrentClientLevel();
106
- }
107
- }
96
+ },
97
+ },
108
98
  },
109
99
  session: {
110
100
  // for when configured to use single buffer
@@ -112,27 +102,27 @@ const Logger = WebexPlugin.extend({
112
102
  type: 'array',
113
103
  default() {
114
104
  return [];
115
- }
105
+ },
116
106
  },
117
107
  groupLevel: {
118
108
  type: 'number',
119
109
  default() {
120
110
  return 0;
121
- }
111
+ },
122
112
  },
123
113
  // for when configured to use separate buffers
124
114
  sdkBuffer: {
125
115
  type: 'array',
126
116
  default() {
127
117
  return [];
128
- }
118
+ },
129
119
  },
130
120
  clientBuffer: {
131
121
  type: 'array',
132
122
  default() {
133
123
  return [];
134
- }
135
- }
124
+ },
125
+ },
136
126
  },
137
127
 
138
128
  /**
@@ -178,7 +168,10 @@ const Logger = WebexPlugin.extend({
178
168
  * @returns {boolean}
179
169
  */
180
170
  shouldPrint(level, type = LOG_TYPES.SDK) {
181
- return precedence[level] <= precedence[type === LOG_TYPES.SDK ? this.getCurrentLevel() : this.getCurrentClientLevel()];
171
+ return (
172
+ precedence[level] <=
173
+ precedence[type === LOG_TYPES.SDK ? this.getCurrentLevel() : this.getCurrentClientLevel()]
174
+ );
182
175
  },
183
176
 
184
177
  /**
@@ -194,7 +187,10 @@ const Logger = WebexPlugin.extend({
194
187
  * @returns {boolean}
195
188
  */
196
189
  shouldBuffer(level) {
197
- return precedence[level] <= (this.config.bufferLogLevel ? precedence[this.config.bufferLogLevel] : precedence.info);
190
+ return (
191
+ precedence[level] <=
192
+ (this.config.bufferLogLevel ? precedence[this.config.bufferLogLevel] : precedence.info)
193
+ );
198
194
  },
199
195
 
200
196
  /**
@@ -223,7 +219,8 @@ const Logger = WebexPlugin.extend({
223
219
  }
224
220
 
225
221
  // Use server-side-feature toggles to configure log levels
226
- const level = this.webex.internal.device && this.webex.internal.device.features.developer.get('log-level');
222
+ const level =
223
+ this.webex.internal.device && this.webex.internal.device.features.developer.get('log-level');
227
224
 
228
225
  if (level) {
229
226
  if (levels.includes(level)) {
@@ -275,11 +272,14 @@ const Logger = WebexPlugin.extend({
275
272
  // merge the client and sdk buffers
276
273
  // while we have entries in either buffer
277
274
  while (clientIndex < this.clientBuffer.length || sdkIndex < this.sdkBuffer.length) {
278
- // if we have remaining entries in the SDK buffer
279
- if (sdkIndex < this.sdkBuffer.length &&
275
+ // if we have remaining entries in the SDK buffer
276
+ if (
277
+ sdkIndex < this.sdkBuffer.length &&
280
278
  // and we haven't exhausted all the client buffer entries, or SDK date is before client date
281
279
  (clientIndex >= this.clientBuffer.length ||
282
- (new Date(getDate(this.sdkBuffer[sdkIndex])) <= new Date(getDate(this.clientBuffer[clientIndex]))))) {
280
+ new Date(getDate(this.sdkBuffer[sdkIndex])) <=
281
+ new Date(getDate(this.clientBuffer[clientIndex])))
282
+ ) {
283
283
  // then add to the SDK buffer
284
284
  buffer.push(this.sdkBuffer[sdkIndex]);
285
285
  sdkIndex += 1;
@@ -291,13 +291,12 @@ const Logger = WebexPlugin.extend({
291
291
  clientIndex += 1;
292
292
  }
293
293
  }
294
- }
295
- else {
294
+ } else {
296
295
  buffer = this.buffer;
297
296
  }
298
297
 
299
298
  return buffer.join('\n');
300
- }
299
+ },
301
300
  });
302
301
 
303
302
  /**
@@ -323,16 +322,18 @@ function makeLoggerMethod(level, impl, type, neverPrint = false, alwaysBuffer =
323
322
  // in Ampersand, even if the initialize method is used to set this up. so we keep the type to achieve
324
323
  // a sort of late binding to allow retrieving a name from config.
325
324
  const logType = type;
326
- const clientName = logType === LOG_TYPES.SDK ? SDK_LOG_TYPE_NAME : (this.config.clientName || logType);
325
+ const clientName =
326
+ logType === LOG_TYPES.SDK ? SDK_LOG_TYPE_NAME : this.config.clientName || logType;
327
327
 
328
328
  let buffer;
329
329
  let historyLength;
330
330
 
331
331
  if (this.config.separateLogBuffers) {
332
- historyLength = this.config.clientHistoryLength ? this.config.clientHistoryLength : this.config.historyLength;
332
+ historyLength = this.config.clientHistoryLength
333
+ ? this.config.clientHistoryLength
334
+ : this.config.historyLength;
333
335
  buffer = logType === LOG_TYPES.SDK ? this.sdkBuffer : this.clientBuffer;
334
- }
335
- else {
336
+ } else {
336
337
  buffer = this.buffer;
337
338
  historyLength = this.config.historyLength;
338
339
  }
@@ -381,8 +382,7 @@ function makeLoggerMethod(level, impl, type, neverPrint = false, alwaysBuffer =
381
382
  if (level === 'group') this.groupLevel += 1;
382
383
  if (level === 'groupEnd' && this.groupLevel > 0) this.groupLevel -= 1;
383
384
  }
384
- }
385
- catch (reason) {
385
+ } catch (reason) {
386
386
  if (!neverPrint) {
387
387
  /* istanbul ignore next */
388
388
  // eslint-disable-next-line no-console
@@ -404,14 +404,24 @@ levels.forEach((level) => {
404
404
  }
405
405
  }
406
406
 
407
-
408
407
  // eslint-disable-next-line complexity
409
408
  Logger.prototype[`client_${level}`] = makeLoggerMethod(level, impl, LOG_TYPES.CLIENT);
410
409
  Logger.prototype[level] = makeLoggerMethod(level, impl, LOG_TYPES.SDK);
411
410
  });
412
411
 
413
- Logger.prototype.client_logToBuffer =
414
- makeLoggerMethod(levels.info, levels.info, LOG_TYPES.CLIENT, true, true);
415
- Logger.prototype.logToBuffer = makeLoggerMethod(levels.info, levels.info, LOG_TYPES.SDK, true, true);
412
+ Logger.prototype.client_logToBuffer = makeLoggerMethod(
413
+ levels.info,
414
+ levels.info,
415
+ LOG_TYPES.CLIENT,
416
+ true,
417
+ true
418
+ );
419
+ Logger.prototype.logToBuffer = makeLoggerMethod(
420
+ levels.info,
421
+ levels.info,
422
+ LOG_TYPES.SDK,
423
+ true,
424
+ true
425
+ );
416
426
 
417
427
  export default Logger;