@beforeyoubid/logger-adapter 1.0.11 → 2.0.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.
Files changed (50) hide show
  1. package/README.md +55 -127
  2. package/dist/console/logWrapper.d.ts +4 -0
  3. package/dist/index.d.ts +2 -1
  4. package/dist/logger/index.d.ts +1 -1
  5. package/dist/logger/logdnaClient.d.ts +19 -0
  6. package/dist/logger/logger.d.ts +12 -2
  7. package/dist/logger/util.d.ts +11 -0
  8. package/dist/params.d.ts +1 -1
  9. package/dist/src/__tests__/params.spec.js +84 -0
  10. package/dist/src/console/__tests__/consoleLogger.spec.js +18 -0
  11. package/dist/src/console/index.js +44 -0
  12. package/dist/src/console/logWrapper.js +99 -0
  13. package/dist/src/consts.js +13 -0
  14. package/dist/src/index.js +40 -0
  15. package/dist/src/logger/__tests__/index.spec.js +24 -0
  16. package/dist/src/logger/__tests__/logger.spec.js +139 -0
  17. package/dist/src/logger/__tests__/util.spec.js +81 -0
  18. package/dist/src/logger/index.js +17 -0
  19. package/dist/src/logger/logdnaClient.js +47 -0
  20. package/dist/src/logger/logger.js +61 -0
  21. package/dist/src/logger/util.js +57 -0
  22. package/dist/src/params.js +66 -0
  23. package/dist/src/transports/logdnaWinston.js +267 -0
  24. package/dist/src/types.js +6 -0
  25. package/dist/src/util.js +328 -0
  26. package/dist/transports/logdnaWinston.d.ts +28 -0
  27. package/dist/types.d.ts +5 -5
  28. package/dist/util.d.ts +1 -0
  29. package/package.json +35 -24
  30. package/dist/console/index.js +0 -29
  31. package/dist/console/logger.d.ts +0 -4
  32. package/dist/console/logger.js +0 -51
  33. package/dist/consts.js +0 -5
  34. package/dist/flush.d.ts +0 -29
  35. package/dist/flush.js +0 -80
  36. package/dist/index.js +0 -13
  37. package/dist/logger/index.js +0 -8
  38. package/dist/logger/logger.js +0 -32
  39. package/dist/params.js +0 -40
  40. package/dist/types.js +0 -2
  41. package/dist/util.js +0 -96
  42. package/src/console/index.ts +0 -33
  43. package/src/console/logger.ts +0 -62
  44. package/src/consts.ts +0 -3
  45. package/src/index.ts +0 -5
  46. package/src/logger/index.ts +0 -7
  47. package/src/logger/logger.ts +0 -41
  48. package/src/params.ts +0 -53
  49. package/src/types.ts +0 -23
  50. package/src/util.ts +0 -89
package/README.md CHANGED
@@ -1,9 +1,18 @@
1
- # LogDNA Logger Adapter
1
+ # Mezmo (Formerly LogDNA) Logger Adapter
2
2
 
3
- This is a platform logger module that is able to support multiple logging scenarios.
3
+ Notes - LogDNA made a decision not to rename the library to Mezmo just yet. To avoid having two names, we decided to
4
+ keep the variable, class and etc as LogDNA for now.
4
5
 
5
- - A `console` log wrapper so it can send all logs from the native `console` object to LogDNA.
6
- - A Winston log wrapper logger which output better colour and we can send log messages to LogNDA.
6
+ ---
7
+
8
+ This is our BYB logger module that is designed to support multiple two logging scenarios.
9
+
10
+ - Some repos may heavily rely on console.log() or similar to output log on the console. We can utilise this module to
11
+ wrap around the original `console` so all logs can be sent to Mezmo as well. The service need to add
12
+ `consoleLogger.init()` in the handler.
13
+ - A Winston logger - Winston creates a generic logger objec that allows us to perform various operations on the log e.g.
14
+ change the colour of the log line, format message, can customise/add a custom code (using a transport mechanism) to
15
+ send log messages to Mezmo or store in the database if we want.
7
16
 
8
17
  This module is designed to work on a native node runtime and in a Lambda environment. For Lambda, please see the
9
18
  [Flush All Messages](#Flush-All-Messages) section below.
@@ -25,6 +34,24 @@ This module is designed to work on a native node runtime and in a Lambda environ
25
34
  If you are using `console.log` on the existing code base and not ready to switch to Winston logger just yet, this module
26
35
  can also helps you out as well.
27
36
 
37
+ ### Versions
38
+
39
+ - **v1.x.x (first version)**
40
+ - Originally created in 2020 but the `logdna` module is no longer maintained (https://www.npmjs.com/package/logdna).
41
+ We need to move away from it.
42
+ - **v2.x.x**
43
+ - Utilise the latest module actively maintained by Mezmo team (https://www.npmjs.com/package/@logdna/logger)
44
+ - Fix a missing some log line issue occured due to the the fact that `logdna-winston` module creates a separate logdna
45
+ client instance and it doesn't get a chance to fully flush messages before Lambda terminates. We decided to
46
+ customise this module in this project and allow us to utilise a single instance of a LogDNA logger object so that
47
+ `ensureFlushAll()` can flush those messages before we terminate Lambda function. This single LogDNA is shared and
48
+ used by both console log wrapper and LogDNA transport as part of Winston log system.
49
+ - Although it is not a major change, users of this module would like an explicably upgraded version. Just update to
50
+ the most recent v2 version; no API modifications are necessary on the consumer side.
51
+ - Also moved `createLoggerObject()` into this shared module so it's easier to use and prefix message before returning
52
+ the actual logger object. e.g. `createLoggerObject(`[LOG-PREFIX]`);`
53
+ - ![V2 Diagram](./docs/v2-diagram.png)
54
+
28
55
  ## 1) Use Console Logger
29
56
 
30
57
  ```
@@ -55,66 +82,10 @@ by setting `LOGDNA_ENABLED=false` in your env variables.
55
82
  // Don't need to call consoleLogger.flushAll(), logdna object has default flush interval interval at 250ms
56
83
  ```
57
84
 
58
- ### Lambda: Use with an Aync Handler
59
-
60
- ```
61
- import { consoleLogger, flushAll } from '@beforeyoubid/logger-adapter';
62
- consoleLogger.init();
63
-
64
- // Ensure the we flush all messages before Lambda function gets terminated
65
- const yourLambdaHandler = async (event, context) => {
66
- try {
67
- console.debug('Sample debug log - this message only show up when LOG_LEVEL is set to "debug"')
68
-
69
- const result = await yourNormalProcess();
70
-
71
- await flushAll(); // Trigger to flush all messages
72
-
73
- return result;
74
- } catch (e) {
75
- // handle error
76
- await flushAll(); // Trigger to flush all messages
77
-
78
- // Throw or send result as usual
79
- throw e;
80
-
81
- // Or handle it nicely
82
- // return unsuccessfulResponse;
83
- }
84
- }
85
-
86
- ```
87
-
88
- ### Lambda: Use with a Callback Handler
89
-
90
- ```
91
- import { consoleLogger, flushAll } from '@beforeyoubid/logger-adapter';
92
- consoleLogger.init();
93
-
94
- const yourLambdaHandler = (event, context, callback) => {
95
- try {
96
- console.debug('Sample debug log - this message only show up when LOG_LEVEL is set to "debug"')
97
-
98
- const result = yourNormalProcess();
99
-
100
- callback(null, yourNormalResponseObject);
101
-
102
- flushAll(); // Trigger to flush all messages
103
- } catch (e) {
104
-
105
- // Ensure the we flush all messages before Lambda function gets terminated
106
- flushAll(); // Trigger to flush all messages
107
-
108
- // Call a callback with error
109
- callback(yourErrorObject);
110
-
111
- // Or return unsuccessful response
112
- // https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-lambda-proxy-integrations.html#api-gateway-simple-proxy-for-lambda-output-format
113
- // callback(null, unsuccessfulResponse);
114
- }
115
- }
85
+ ## Flush All Messages
116
86
 
117
- ```
87
+ LogDNA puts messages in the buffer and push out every 250ms. If Lambda is terminated before some of these intervals,
88
+ it's likely that some of message logs are not sent to LogDNA. Use `ensureFlushAll()` to flush messages automatically.
118
89
 
119
90
  ### Lambda: Use a handler wrapper for Serverless Express
120
91
 
@@ -122,26 +93,17 @@ by setting `LOGDNA_ENABLED=false` in your env variables.
122
93
  import { consoleLogger, ensureFlushAll } from '@beforeyoubid/logger-adapter';
123
94
  consoleLogger.init();
124
95
 
125
- export default ensureFlushAll(graphqlHandler);
96
+ export default ensureFlushAll(yourLambdaHandler);
126
97
 
127
98
  ```
128
99
 
129
- ### Lambda: Use with a Callback Handler (Apollo GraphQL Handler)
100
+ ### Lambda: Use with a Callback Handler
130
101
 
131
102
  ```
132
103
  import { consoleLogger, ensureFlushAllCallback } from '@beforeyoubid/logger-adapter';
133
104
  consoleLogger.init();
134
105
 
135
- // Existing graphql hander - it uses callback signature
136
- const graphqlHandler = server.createHandler({
137
- cors: {
138
- origin: '*',
139
- allowedHeaders: ['x-api-token', 'Authorization'],
140
- methods: ['GET', 'POST'],
141
- },
142
- });
143
-
144
- export default ensureFlushAllCallback(graphqlHandler);
106
+ export default ensureFlushAllCallback(yourLambdaHandlerCallback);
145
107
 
146
108
  ```
147
109
 
@@ -172,76 +134,42 @@ of the environment variable.
172
134
  logger.info('This message only show up when LOG_LEVEL is set to "info"')
173
135
  ```
174
136
 
175
- ### Lambda: Use with an Aync Handler
137
+ ### Lambda: Use a handler wrapper for Serverless Express
176
138
 
177
139
  ```
178
- import { logger, flushAll } from '@beforeyoubid/logger-adapter';
140
+ import { logger, ensureFlushAll } from '@beforeyoubid/logger-adapter';
179
141
 
180
- const yourLambdaHandler = async (event, context) => {
181
- try {
182
- logger.debug('Sample debug log - this message only show up when LOG_LEVEL is set to "debug"')
142
+ // you can use logger.debug('log text in a string format');
183
143
 
184
- const result = await yourNormalProcess();
185
-
186
- // Ensure the we flush all messages before Lambda function gets terminated
187
- await flushAll();
188
-
189
- return result;
190
- } catch (e) {
191
- // Ensure the we flush all messages before Lambda function gets terminated
192
- await flushAll(); // Trigger to flush all messages
193
-
194
- // Throw or send result as usual
195
- throw e;
196
-
197
- // Or handle it nicely
198
- // return unsuccessfulResponse;
199
- }
200
- }
144
+ export default ensureFlushAll(yourLambdaHandler);
201
145
 
202
146
  ```
203
147
 
204
148
  ### Lambda: Use with a Callback Handler
205
149
 
206
150
  ```
207
- import { logger, flushAll } from '@beforeyoubid/logger-adapter';
151
+ import { logger, ensureFlushAllCallback } from '@beforeyoubid/logger-adapter';
208
152
 
209
- const yourLambdaHandler = (event, context, callback) => {
210
- try {
211
- logger.debug('Sample debug log - this message only show up when LOG_LEVEL is set to "debug"')
153
+ // you can use logger.debug('log text in a string format');
212
154
 
213
- const result = yourNormalProcess();
155
+ export default ensureFlushAllCallback(yourLambdaHandlerCallback);
214
156
 
215
- callback(null, yourNormalResponseObject);
216
157
 
217
- // Ensure the we flush all messages before Lambda function gets terminated
218
- flushAll(); // Trigger to flush all messages
219
- } catch (e) {
220
- // Ensure the we flush all messages before Lambda function gets terminated
221
- flushAll(); // Trigger to flush all messages
158
+ ```
222
159
 
223
- // Call a callback with error
224
- callback(yourErrorObject);
160
+ ### Prefixing your log message
225
161
 
226
- // Or return unsuccessful response
227
- // https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-lambda-proxy-integrations.html#api-gateway-simple-proxy-for-lambda-output-format
228
- // callback(null, unsuccessfulResponse);
229
- }
230
- }
162
+ In some cases, you may want to have a clearer log message by prefixing them with a predefined string e.g. name of your
163
+ module so they look like this. ![Log prefix](./docs/log-prefix.png)
231
164
 
232
165
  ```
166
+ import { getLoggerObject } from '@beforeyoubid/logger-adapter';
233
167
 
234
- ## Flush All Messages
235
-
236
- LogDNA puts messages in the buffer and push out every 250ms. If Lambda is terminated before some of these intervals,
237
- it's likely that some of message logs are not sent to LogDNA.
168
+ const logger = getLoggerObject('[CoreLogicListingProvider]');
238
169
 
239
- We just need to ensure that after we've completed the business logic and before the Lambda function is terminated, we
240
- flush all messages. We can just call a LogDNA `flushAll()` function and this module export this logic for us to use.
241
- Depending on how your Lambda handler is set up, but there are three variances we have observed.
242
-
243
- 1. Async handler
244
- 2. Async handler but use Serverless Express framework
245
- 3. Apollo non-async handler which is created by a `createHandler()` function
170
+ logger.info('the usual log string...')
171
+ ```
246
172
 
247
- Please see usage examples from the above sections
173
+ **Notes that** this function just wraps the original Winston logger instance your normally access from this line.
174
+ `import { logger } from '@beforeyoubid/logger-adapter';`. It only wraps and add the prefix the log line for you and
175
+ returns with debug, info, warn, error functions.
@@ -0,0 +1,4 @@
1
+ import { type Logger } from '@logdna/logger';
2
+ declare const wrapAndSendToLogDNA: (logDNAClient: Logger, logLevel: string) => void;
3
+ declare const getDefaultConsoleLog: () => any;
4
+ export { wrapAndSendToLogDNA, getDefaultConsoleLog };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { consoleLogger } from './console';
2
2
  import { logger } from './logger';
3
+ import { getLoggerObject } from './logger/util';
3
4
  import { getLogParams } from './params';
4
5
  import { flushAll, ensureFlushAll, ensureFlushAllCallback } from './util';
5
- export { consoleLogger, logger, getLogParams, flushAll, ensureFlushAll, ensureFlushAllCallback };
6
+ export { consoleLogger, logger, getLoggerObject, getLogParams, flushAll, ensureFlushAll, ensureFlushAllCallback };
@@ -1,2 +1,2 @@
1
- declare const logger: any;
1
+ declare const logger: import("winston").Logger;
2
2
  export { logger };
@@ -0,0 +1,19 @@
1
+ import LogDNALogger from '@logdna/logger';
2
+ import { type ILogDNAParams } from '../types';
3
+ /**
4
+ * Create one single instance of LogDNA (Mezmo) client so it can be shared/used in two cases
5
+ * 1) Use it with the console wrapper. We send anything from console.log(), console.info(), console.error()
6
+ * to LogDNA for backward compatibility. Consumer can use this by calling consoleLogger.init()
7
+ * 2) Use it with a Winston logger as part of the transports to send logs to LogDNA
8
+ *
9
+ * Before calling this function, make sure we check if LogDNA is enabled before creating it
10
+ *
11
+ * @param params
12
+ * @returns
13
+ */
14
+ export declare const createLogDNAClient: (params: ILogDNAParams) => LogDNALogger.Logger;
15
+ /**
16
+ * Return the singleton instance of LogDNA client created by createLogDNAClient()
17
+ * @returns
18
+ */
19
+ export declare const getLogDNAClient: () => LogDNALogger.Logger;
@@ -1,3 +1,13 @@
1
1
  import { ILogDNAParams } from '../types';
2
- declare const getLogger: (params: ILogDNAParams) => any;
3
- export { getLogger };
2
+ import winston from 'winston';
3
+ /**
4
+ * Create a Winston logger object so that we can get a few benefits
5
+ * 1. We can use the same logger to output logs to console. If we use logger from @logdna/logger, it won't show up locally
6
+ * 2. We can also format the colour of the log lines so that it's easier to read in the local docker container
7
+ * 3. We can use the same logger object and send logs to logDNA using transports mechanism
8
+ *
9
+ * @param params
10
+ * @returns
11
+ */
12
+ declare const setupWinstonLogger: (params: ILogDNAParams) => winston.Logger;
13
+ export { setupWinstonLogger };
@@ -0,0 +1,11 @@
1
+ /**
2
+ * A utility command to return a logger with a prefix on log line.
3
+ * @param prefix string
4
+ */
5
+ declare const getLoggerObject: (prefix?: string) => {
6
+ debug: (...args: unknown[]) => import("winston").Logger;
7
+ info: (...args: unknown[]) => import("winston").Logger;
8
+ warn: (...args: unknown[]) => import("winston").Logger;
9
+ error: (...args: unknown[]) => import("winston").Logger;
10
+ };
11
+ export { getLoggerObject };
package/dist/params.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /// <reference types="node" />
2
- import { ILogDNAParams } from './types';
2
+ import { type ILogDNAParams } from './types';
3
3
  declare const sendToRemote: (logDNAKey: string, logDNAEnabled: string) => boolean;
4
4
  declare const getLogParams: (env?: NodeJS.ProcessEnv) => ILogDNAParams;
5
5
  export { getLogParams, sendToRemote };
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ var _params = require("../params");
6
+ describe('Log Params', function() {
7
+ it('return correct sendToRemote status', function() {
8
+ var status;
9
+ // LOGDNA_ENABLED is from env which is string
10
+ status = (0, _params.sendToRemote)('', 'true');
11
+ expect(status).toEqual(false);
12
+ status = (0, _params.sendToRemote)('something', 'true');
13
+ expect(status).toEqual(true);
14
+ status = (0, _params.sendToRemote)('something', 'false');
15
+ expect(status).toEqual(false);
16
+ });
17
+ it('is able to set default logdna setting', function() {
18
+ var simulatedEnv = {
19
+ STAGE: 'sample',
20
+ LOGDNA_KEY: '',
21
+ LOGDNA_SUPPRESS_FLUSH_ALL: 'true'
22
+ };
23
+ var params = (0, _params.getLogParams)(simulatedEnv);
24
+ expect(params.logLevel).toEqual('info');
25
+ expect(params.logDNASuppressFlushAll).toEqual(true);
26
+ expect(params.functionName).toEqual('n/a');
27
+ expect(params.logDNAOptions.env).toEqual('sample');
28
+ });
29
+ describe('sendToRemote', function() {
30
+ it('should set sendToRemote to false when logdna_key is empty', function() {
31
+ var simulatedEnv = {
32
+ LOGDNA_KEY: ''
33
+ };
34
+ var params = (0, _params.getLogParams)(simulatedEnv);
35
+ expect(params.sendToRemote).toEqual(false);
36
+ });
37
+ it('should set sendToRemote to true when logdna_key presents & logdna is enabled', function() {
38
+ var simulatedEnv = {
39
+ LOGDNA_KEY: 'some-random-key',
40
+ LOGDNA_ENABLED: 'true'
41
+ };
42
+ var params = (0, _params.getLogParams)(simulatedEnv);
43
+ expect(params.sendToRemote).toEqual(true);
44
+ });
45
+ });
46
+ describe('sendToRemote', function() {
47
+ it('should set sendToRemote to false when logdna_key is not set', function() {
48
+ var simulatedEnv = {};
49
+ var params = (0, _params.getLogParams)(simulatedEnv);
50
+ expect(params.sendToRemote).toEqual(false);
51
+ });
52
+ it('should set sendToRemote to false when logdna_key is empty', function() {
53
+ var simulatedEnv = {
54
+ LOGDNA_KEY: ''
55
+ };
56
+ var params = (0, _params.getLogParams)(simulatedEnv);
57
+ expect(params.sendToRemote).toEqual(false);
58
+ });
59
+ it('should set sendToRemote to true when logdna_key presents & logdna is enabled', function() {
60
+ var simulatedEnv = {
61
+ LOGDNA_KEY: 'some-random-key',
62
+ LOGDNA_ENABLED: 'true'
63
+ };
64
+ var params = (0, _params.getLogParams)(simulatedEnv);
65
+ expect(params.sendToRemote).toEqual(true);
66
+ });
67
+ });
68
+ describe('Validate logDNASuppressFlushAll', function() {
69
+ it('should set logDNASuppressFlushAll to false by default', function() {
70
+ var simulatedEnv = {};
71
+ var params = (0, _params.getLogParams)(simulatedEnv);
72
+ expect(params.logDNASuppressFlushAll).toEqual(false);
73
+ });
74
+ it('should set logDNASuppressFlushAll to true when we supply env variable', function() {
75
+ var simulatedEnv = {
76
+ LOGDNA_SUPPRESS_FLUSH_ALL: 'true'
77
+ };
78
+ var params = (0, _params.getLogParams)(simulatedEnv);
79
+ expect(params.logDNASuppressFlushAll).toEqual(true);
80
+ });
81
+ });
82
+ });
83
+
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9fX3Rlc3RzX18vcGFyYW1zLnNwZWMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0TG9nUGFyYW1zLCBzZW5kVG9SZW1vdGUgfSBmcm9tICcuLi9wYXJhbXMnO1xuXG5kZXNjcmliZSgnTG9nIFBhcmFtcycsICgpID0+IHtcbiAgaXQoJ3JldHVybiBjb3JyZWN0IHNlbmRUb1JlbW90ZSBzdGF0dXMnLCAoKSA9PiB7XG4gICAgbGV0IHN0YXR1cztcbiAgICAvLyBMT0dETkFfRU5BQkxFRCBpcyBmcm9tIGVudiB3aGljaCBpcyBzdHJpbmdcbiAgICBzdGF0dXMgPSBzZW5kVG9SZW1vdGUoJycsICd0cnVlJyk7XG4gICAgZXhwZWN0KHN0YXR1cykudG9FcXVhbChmYWxzZSk7XG5cbiAgICBzdGF0dXMgPSBzZW5kVG9SZW1vdGUoJ3NvbWV0aGluZycsICd0cnVlJyk7XG4gICAgZXhwZWN0KHN0YXR1cykudG9FcXVhbCh0cnVlKTtcblxuICAgIHN0YXR1cyA9IHNlbmRUb1JlbW90ZSgnc29tZXRoaW5nJywgJ2ZhbHNlJyk7XG4gICAgZXhwZWN0KHN0YXR1cykudG9FcXVhbChmYWxzZSk7XG4gIH0pO1xuXG4gIGl0KCdpcyBhYmxlIHRvIHNldCBkZWZhdWx0IGxvZ2RuYSBzZXR0aW5nJywgKCkgPT4ge1xuICAgIGNvbnN0IHNpbXVsYXRlZEVudiA9IHtcbiAgICAgIFNUQUdFOiAnc2FtcGxlJyxcbiAgICAgIExPR0ROQV9LRVk6ICcnLFxuICAgICAgTE9HRE5BX1NVUFBSRVNTX0ZMVVNIX0FMTDogJ3RydWUnLFxuICAgIH07XG4gICAgY29uc3QgcGFyYW1zID0gZ2V0TG9nUGFyYW1zKHNpbXVsYXRlZEVudik7XG4gICAgZXhwZWN0KHBhcmFtcy5sb2dMZXZlbCkudG9FcXVhbCgnaW5mbycpO1xuICAgIGV4cGVjdChwYXJhbXMubG9nRE5BU3VwcHJlc3NGbHVzaEFsbCkudG9FcXVhbCh0cnVlKTtcbiAgICBleHBlY3QocGFyYW1zLmZ1bmN0aW9uTmFtZSkudG9FcXVhbCgnbi9hJyk7XG4gICAgZXhwZWN0KHBhcmFtcy5sb2dETkFPcHRpb25zLmVudikudG9FcXVhbCgnc2FtcGxlJyk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdzZW5kVG9SZW1vdGUnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBzZXQgc2VuZFRvUmVtb3RlIHRvIGZhbHNlIHdoZW4gbG9nZG5hX2tleSBpcyBlbXB0eScsICgpID0+IHtcbiAgICAgIGNvbnN0IHNpbXVsYXRlZEVudiA9IHtcbiAgICAgICAgTE9HRE5BX0tFWTogJycsXG4gICAgICB9O1xuICAgICAgY29uc3QgcGFyYW1zID0gZ2V0TG9nUGFyYW1zKHNpbXVsYXRlZEVudik7XG4gICAgICBleHBlY3QocGFyYW1zLnNlbmRUb1JlbW90ZSkudG9FcXVhbChmYWxzZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHNldCBzZW5kVG9SZW1vdGUgdG8gdHJ1ZSB3aGVuIGxvZ2RuYV9rZXkgcHJlc2VudHMgJiBsb2dkbmEgaXMgZW5hYmxlZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHNpbXVsYXRlZEVudiA9IHtcbiAgICAgICAgTE9HRE5BX0tFWTogJ3NvbWUtcmFuZG9tLWtleScsXG4gICAgICAgIExPR0ROQV9FTkFCTEVEOiAndHJ1ZScsXG4gICAgICB9O1xuICAgICAgY29uc3QgcGFyYW1zID0gZ2V0TG9nUGFyYW1zKHNpbXVsYXRlZEVudik7XG4gICAgICBleHBlY3QocGFyYW1zLnNlbmRUb1JlbW90ZSkudG9FcXVhbCh0cnVlKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3NlbmRUb1JlbW90ZScsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHNldCBzZW5kVG9SZW1vdGUgdG8gZmFsc2Ugd2hlbiBsb2dkbmFfa2V5IGlzIG5vdCBzZXQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBzaW11bGF0ZWRFbnYgPSB7fTtcbiAgICAgIGNvbnN0IHBhcmFtcyA9IGdldExvZ1BhcmFtcyhzaW11bGF0ZWRFbnYpO1xuICAgICAgZXhwZWN0KHBhcmFtcy5zZW5kVG9SZW1vdGUpLnRvRXF1YWwoZmFsc2UpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBzZXQgc2VuZFRvUmVtb3RlIHRvIGZhbHNlIHdoZW4gbG9nZG5hX2tleSBpcyBlbXB0eScsICgpID0+IHtcbiAgICAgIGNvbnN0IHNpbXVsYXRlZEVudiA9IHtcbiAgICAgICAgTE9HRE5BX0tFWTogJycsXG4gICAgICB9O1xuICAgICAgY29uc3QgcGFyYW1zID0gZ2V0TG9nUGFyYW1zKHNpbXVsYXRlZEVudik7XG4gICAgICBleHBlY3QocGFyYW1zLnNlbmRUb1JlbW90ZSkudG9FcXVhbChmYWxzZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHNldCBzZW5kVG9SZW1vdGUgdG8gdHJ1ZSB3aGVuIGxvZ2RuYV9rZXkgcHJlc2VudHMgJiBsb2dkbmEgaXMgZW5hYmxlZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHNpbXVsYXRlZEVudiA9IHtcbiAgICAgICAgTE9HRE5BX0tFWTogJ3NvbWUtcmFuZG9tLWtleScsXG4gICAgICAgIExPR0ROQV9FTkFCTEVEOiAndHJ1ZScsXG4gICAgICB9O1xuICAgICAgY29uc3QgcGFyYW1zID0gZ2V0TG9nUGFyYW1zKHNpbXVsYXRlZEVudik7XG4gICAgICBleHBlY3QocGFyYW1zLnNlbmRUb1JlbW90ZSkudG9FcXVhbCh0cnVlKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ1ZhbGlkYXRlIGxvZ0ROQVN1cHByZXNzRmx1c2hBbGwnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBzZXQgbG9nRE5BU3VwcHJlc3NGbHVzaEFsbCB0byBmYWxzZSBieSBkZWZhdWx0JywgKCkgPT4ge1xuICAgICAgY29uc3Qgc2ltdWxhdGVkRW52ID0ge307XG4gICAgICBjb25zdCBwYXJhbXMgPSBnZXRMb2dQYXJhbXMoc2ltdWxhdGVkRW52KTtcbiAgICAgIGV4cGVjdChwYXJhbXMubG9nRE5BU3VwcHJlc3NGbHVzaEFsbCkudG9FcXVhbChmYWxzZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHNldCBsb2dETkFTdXBwcmVzc0ZsdXNoQWxsIHRvIHRydWUgd2hlbiB3ZSBzdXBwbHkgZW52IHZhcmlhYmxlJywgKCkgPT4ge1xuICAgICAgY29uc3Qgc2ltdWxhdGVkRW52ID0ge1xuICAgICAgICBMT0dETkFfU1VQUFJFU1NfRkxVU0hfQUxMOiAndHJ1ZScsXG4gICAgICB9O1xuICAgICAgY29uc3QgcGFyYW1zID0gZ2V0TG9nUGFyYW1zKHNpbXVsYXRlZEVudik7XG4gICAgICBleHBlY3QocGFyYW1zLmxvZ0ROQVN1cHByZXNzRmx1c2hBbGwpLnRvRXF1YWwodHJ1ZSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwibmFtZXMiOlsiZGVzY3JpYmUiLCJpdCIsInN0YXR1cyIsInNlbmRUb1JlbW90ZSIsImV4cGVjdCIsInRvRXF1YWwiLCJzaW11bGF0ZWRFbnYiLCJTVEFHRSIsIkxPR0ROQV9LRVkiLCJMT0dETkFfU1VQUFJFU1NfRkxVU0hfQUxMIiwicGFyYW1zIiwiZ2V0TG9nUGFyYW1zIiwibG9nTGV2ZWwiLCJsb2dETkFTdXBwcmVzc0ZsdXNoQWxsIiwiZnVuY3Rpb25OYW1lIiwibG9nRE5BT3B0aW9ucyIsImVudiIsIkxPR0ROQV9FTkFCTEVEIl0sIm1hcHBpbmdzIjoiOzs7O3NCQUEyQztBQUUzQ0EsU0FBUyxjQUFjO0lBQ3JCQyxHQUFHLHNDQUFzQztRQUN2QyxJQUFJQztRQUNKLDZDQUE2QztRQUM3Q0EsU0FBU0MsSUFBQUEsb0JBQVksRUFBQyxJQUFJO1FBQzFCQyxPQUFPRixRQUFRRyxPQUFPLENBQUM7UUFFdkJILFNBQVNDLElBQUFBLG9CQUFZLEVBQUMsYUFBYTtRQUNuQ0MsT0FBT0YsUUFBUUcsT0FBTyxDQUFDO1FBRXZCSCxTQUFTQyxJQUFBQSxvQkFBWSxFQUFDLGFBQWE7UUFDbkNDLE9BQU9GLFFBQVFHLE9BQU8sQ0FBQztJQUN6QjtJQUVBSixHQUFHLHlDQUF5QztRQUMxQyxJQUFNSyxlQUFlO1lBQ25CQyxPQUFPO1lBQ1BDLFlBQVk7WUFDWkMsMkJBQTJCO1FBQzdCO1FBQ0EsSUFBTUMsU0FBU0MsSUFBQUEsb0JBQVksRUFBQ0w7UUFDNUJGLE9BQU9NLE9BQU9FLFFBQVEsRUFBRVAsT0FBTyxDQUFDO1FBQ2hDRCxPQUFPTSxPQUFPRyxzQkFBc0IsRUFBRVIsT0FBTyxDQUFDO1FBQzlDRCxPQUFPTSxPQUFPSSxZQUFZLEVBQUVULE9BQU8sQ0FBQztRQUNwQ0QsT0FBT00sT0FBT0ssYUFBYSxDQUFDQyxHQUFHLEVBQUVYLE9BQU8sQ0FBQztJQUMzQztJQUVBTCxTQUFTLGdCQUFnQjtRQUN2QkMsR0FBRyw2REFBNkQ7WUFDOUQsSUFBTUssZUFBZTtnQkFDbkJFLFlBQVk7WUFDZDtZQUNBLElBQU1FLFNBQVNDLElBQUFBLG9CQUFZLEVBQUNMO1lBQzVCRixPQUFPTSxPQUFPUCxZQUFZLEVBQUVFLE9BQU8sQ0FBQztRQUN0QztRQUVBSixHQUFHLGdGQUFnRjtZQUNqRixJQUFNSyxlQUFlO2dCQUNuQkUsWUFBWTtnQkFDWlMsZ0JBQWdCO1lBQ2xCO1lBQ0EsSUFBTVAsU0FBU0MsSUFBQUEsb0JBQVksRUFBQ0w7WUFDNUJGLE9BQU9NLE9BQU9QLFlBQVksRUFBRUUsT0FBTyxDQUFDO1FBQ3RDO0lBQ0Y7SUFFQUwsU0FBUyxnQkFBZ0I7UUFDdkJDLEdBQUcsK0RBQStEO1lBQ2hFLElBQU1LLGVBQWUsQ0FBQztZQUN0QixJQUFNSSxTQUFTQyxJQUFBQSxvQkFBWSxFQUFDTDtZQUM1QkYsT0FBT00sT0FBT1AsWUFBWSxFQUFFRSxPQUFPLENBQUM7UUFDdEM7UUFFQUosR0FBRyw2REFBNkQ7WUFDOUQsSUFBTUssZUFBZTtnQkFDbkJFLFlBQVk7WUFDZDtZQUNBLElBQU1FLFNBQVNDLElBQUFBLG9CQUFZLEVBQUNMO1lBQzVCRixPQUFPTSxPQUFPUCxZQUFZLEVBQUVFLE9BQU8sQ0FBQztRQUN0QztRQUVBSixHQUFHLGdGQUFnRjtZQUNqRixJQUFNSyxlQUFlO2dCQUNuQkUsWUFBWTtnQkFDWlMsZ0JBQWdCO1lBQ2xCO1lBQ0EsSUFBTVAsU0FBU0MsSUFBQUEsb0JBQVksRUFBQ0w7WUFDNUJGLE9BQU9NLE9BQU9QLFlBQVksRUFBRUUsT0FBTyxDQUFDO1FBQ3RDO0lBQ0Y7SUFFQUwsU0FBUyxtQ0FBbUM7UUFDMUNDLEdBQUcseURBQXlEO1lBQzFELElBQU1LLGVBQWUsQ0FBQztZQUN0QixJQUFNSSxTQUFTQyxJQUFBQSxvQkFBWSxFQUFDTDtZQUM1QkYsT0FBT00sT0FBT0csc0JBQXNCLEVBQUVSLE9BQU8sQ0FBQztRQUNoRDtRQUVBSixHQUFHLHlFQUF5RTtZQUMxRSxJQUFNSyxlQUFlO2dCQUNuQkcsMkJBQTJCO1lBQzdCO1lBQ0EsSUFBTUMsU0FBU0MsSUFBQUEsb0JBQVksRUFBQ0w7WUFDNUJGLE9BQU9NLE9BQU9HLHNCQUFzQixFQUFFUixPQUFPLENBQUM7UUFDaEQ7SUFDRjtBQUNGIn0=
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ var _index = require("../index");
6
+ function _type_of(obj) {
7
+ "@swc/helpers - typeof";
8
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
9
+ }
10
+ describe('Console Logger', function() {
11
+ it('should be able to load module', function() {
12
+ var objType = typeof _index.consoleLogger === "undefined" ? "undefined" : _type_of(_index.consoleLogger);
13
+ expect(objType).toEqual('object');
14
+ expect(_type_of(_index.consoleLogger.init)).toEqual('function');
15
+ });
16
+ });
17
+
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb25zb2xlL19fdGVzdHNfXy9jb25zb2xlTG9nZ2VyLnNwZWMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29uc29sZUxvZ2dlciB9IGZyb20gJy4uL2luZGV4JztcblxuZGVzY3JpYmUoJ0NvbnNvbGUgTG9nZ2VyJywgKCkgPT4ge1xuICBpdCgnc2hvdWxkIGJlIGFibGUgdG8gbG9hZCBtb2R1bGUnLCAoKSA9PiB7XG4gICAgY29uc3Qgb2JqVHlwZSA9IHR5cGVvZiBjb25zb2xlTG9nZ2VyO1xuICAgIGV4cGVjdChvYmpUeXBlKS50b0VxdWFsKCdvYmplY3QnKTtcbiAgICBleHBlY3QodHlwZW9mIGNvbnNvbGVMb2dnZXIuaW5pdCkudG9FcXVhbCgnZnVuY3Rpb24nKTtcbiAgfSk7XG59KTtcbiJdLCJuYW1lcyI6WyJkZXNjcmliZSIsIml0Iiwib2JqVHlwZSIsImNvbnNvbGVMb2dnZXIiLCJleHBlY3QiLCJ0b0VxdWFsIiwiaW5pdCJdLCJtYXBwaW5ncyI6Ijs7OztxQkFBOEI7Ozs7O0FBRTlCQSxTQUFTLGtCQUFrQjtJQUN6QkMsR0FBRyxpQ0FBaUM7UUFDbEMsSUFBTUMsVUFBVSxPQUFPQyxvQkFBYSxpQ0FBcEIsU0FBT0Esb0JBQWE7UUFDcENDLE9BQU9GLFNBQVNHLE9BQU8sQ0FBQztRQUN4QkQsT0FBTyxTQUFPRCxvQkFBYSxDQUFDRyxJQUFJLEdBQUVELE9BQU8sQ0FBQztJQUM1QztBQUNGIn0=
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "consoleLogger", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return consoleLogger;
9
+ }
10
+ });
11
+ var _params = require("../params");
12
+ var _logWrapper = require("./logWrapper");
13
+ var _util = require("../util");
14
+ var _logdnaClient = require("../logger/logdnaClient");
15
+ var hasWrapped = false;
16
+ var logParams = (0, _params.getLogParams)();
17
+ /**
18
+ * Initialise and wrap the native console log object
19
+ * @param params
20
+ */ var init = function() {
21
+ var params = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : logParams;
22
+ if (hasWrapped) return;
23
+ var AWS_LAMBDA_FUNCTION_NAME = process.env.AWS_LAMBDA_FUNCTION_NAME;
24
+ var logDNAKey = params.logDNAKey, sendToRemote = params.sendToRemote, logLevel = params.logLevel;
25
+ var isEnabled = (0, _util.isLogDNAEnabled)(logDNAKey, sendToRemote);
26
+ if (isEnabled) {
27
+ // Create/reuse this logdna client instance so that we can use it in the console wrapper
28
+ var logDNAClient = (0, _logdnaClient.createLogDNAClient)(params);
29
+ // Wrap console object and keep the status
30
+ (0, _logWrapper.wrapAndSendToLogDNA)(logDNAClient, logLevel);
31
+ hasWrapped = true;
32
+ }
33
+ // What case is this?
34
+ var isFunctionNameAvailable = AWS_LAMBDA_FUNCTION_NAME !== undefined;
35
+ if (!isEnabled && isFunctionNameAvailable) {
36
+ console.info("LOGDNA is disabled");
37
+ }
38
+ };
39
+ var consoleLogger = {
40
+ init: init,
41
+ flushAll: _util.flushAll
42
+ };
43
+
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25zb2xlL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElMb2dETkFQYXJhbXMgfSBmcm9tICcuLi90eXBlcyc7XG5cbmltcG9ydCB7IGdldExvZ1BhcmFtcyB9IGZyb20gJy4uL3BhcmFtcyc7XG5pbXBvcnQgeyB3cmFwQW5kU2VuZFRvTG9nRE5BIH0gZnJvbSAnLi9sb2dXcmFwcGVyJztcbmltcG9ydCB7IGlzTG9nRE5BRW5hYmxlZCwgZmx1c2hBbGwgfSBmcm9tICcuLi91dGlsJztcbmltcG9ydCB7IGNyZWF0ZUxvZ0ROQUNsaWVudCB9IGZyb20gJy4uL2xvZ2dlci9sb2dkbmFDbGllbnQnO1xuaW1wb3J0IHsgdHlwZSBMb2dnZXIgfSBmcm9tICdAbG9nZG5hL2xvZ2dlcic7XG5cbmxldCBoYXNXcmFwcGVkOiBib29sZWFuID0gZmFsc2U7XG5jb25zdCBsb2dQYXJhbXMgPSBnZXRMb2dQYXJhbXMoKTtcblxuLyoqXG4gKiBJbml0aWFsaXNlIGFuZCB3cmFwIHRoZSBuYXRpdmUgY29uc29sZSBsb2cgb2JqZWN0XG4gKiBAcGFyYW0gcGFyYW1zXG4gKi9cbmNvbnN0IGluaXQgPSAocGFyYW1zOiBJTG9nRE5BUGFyYW1zID0gbG9nUGFyYW1zKTogdm9pZCA9PiB7XG4gIGlmIChoYXNXcmFwcGVkKSByZXR1cm47XG5cbiAgY29uc3QgeyBBV1NfTEFNQkRBX0ZVTkNUSU9OX05BTUUgfSA9IHByb2Nlc3MuZW52O1xuICBjb25zdCB7IGxvZ0ROQUtleSwgc2VuZFRvUmVtb3RlLCBsb2dMZXZlbCB9ID0gcGFyYW1zO1xuICBjb25zdCBpc0VuYWJsZWQgPSBpc0xvZ0ROQUVuYWJsZWQobG9nRE5BS2V5LCBzZW5kVG9SZW1vdGUpO1xuXG4gIGlmIChpc0VuYWJsZWQpIHtcbiAgICAvLyBDcmVhdGUvcmV1c2UgdGhpcyBsb2dkbmEgY2xpZW50IGluc3RhbmNlIHNvIHRoYXQgd2UgY2FuIHVzZSBpdCBpbiB0aGUgY29uc29sZSB3cmFwcGVyXG4gICAgY29uc3QgbG9nRE5BQ2xpZW50ID0gY3JlYXRlTG9nRE5BQ2xpZW50KHBhcmFtcykgYXMgTG9nZ2VyO1xuXG4gICAgLy8gV3JhcCBjb25zb2xlIG9iamVjdCBhbmQga2VlcCB0aGUgc3RhdHVzXG4gICAgd3JhcEFuZFNlbmRUb0xvZ0ROQShsb2dETkFDbGllbnQsIGxvZ0xldmVsKTtcbiAgICBoYXNXcmFwcGVkID0gdHJ1ZTtcbiAgfVxuXG4gIC8vIFdoYXQgY2FzZSBpcyB0aGlzP1xuICBjb25zdCBpc0Z1bmN0aW9uTmFtZUF2YWlsYWJsZSA9IEFXU19MQU1CREFfRlVOQ1RJT05fTkFNRSAhPT0gdW5kZWZpbmVkO1xuICBpZiAoIWlzRW5hYmxlZCAmJiBpc0Z1bmN0aW9uTmFtZUF2YWlsYWJsZSkge1xuICAgIGNvbnNvbGUuaW5mbyhgTE9HRE5BIGlzIGRpc2FibGVkYCk7XG4gIH1cbn07XG5cbmNvbnN0IGNvbnNvbGVMb2dnZXIgPSB7XG4gIGluaXQsXG4gIGZsdXNoQWxsLFxufTtcblxuZXhwb3J0IHsgY29uc29sZUxvZ2dlciB9O1xuIl0sIm5hbWVzIjpbImNvbnNvbGVMb2dnZXIiLCJoYXNXcmFwcGVkIiwibG9nUGFyYW1zIiwiZ2V0TG9nUGFyYW1zIiwiaW5pdCIsInBhcmFtcyIsIkFXU19MQU1CREFfRlVOQ1RJT05fTkFNRSIsInByb2Nlc3MiLCJlbnYiLCJsb2dETkFLZXkiLCJzZW5kVG9SZW1vdGUiLCJsb2dMZXZlbCIsImlzRW5hYmxlZCIsImlzTG9nRE5BRW5hYmxlZCIsImxvZ0ROQUNsaWVudCIsImNyZWF0ZUxvZ0ROQUNsaWVudCIsIndyYXBBbmRTZW5kVG9Mb2dETkEiLCJpc0Z1bmN0aW9uTmFtZUF2YWlsYWJsZSIsInVuZGVmaW5lZCIsImNvbnNvbGUiLCJpbmZvIiwiZmx1c2hBbGwiXSwibWFwcGluZ3MiOiI7Ozs7K0JBMkNTQTs7O2VBQUFBOzs7c0JBekNvQjswQkFDTztvQkFDTTs0QkFDUDtBQUduQyxJQUFJQyxhQUFzQjtBQUMxQixJQUFNQyxZQUFZQyxJQUFBQSxvQkFBWTtBQUU5Qjs7O0NBR0MsR0FDRCxJQUFNQyxPQUFPO1FBQUNDLDBFQUF3Qkg7SUFDcEMsSUFBSUQsWUFBWTtJQUVoQixJQUFNLEFBQUVLLDJCQUE2QkMsUUFBUUMsR0FBRyxDQUF4Q0Y7SUFDUixJQUFRRyxZQUFzQ0osT0FBdENJLFdBQVdDLGVBQTJCTCxPQUEzQkssY0FBY0MsV0FBYU4sT0FBYk07SUFDakMsSUFBTUMsWUFBWUMsSUFBQUEscUJBQWUsRUFBQ0osV0FBV0M7SUFFN0MsSUFBSUUsV0FBVztRQUNiLHdGQUF3RjtRQUN4RixJQUFNRSxlQUFlQyxJQUFBQSxnQ0FBa0IsRUFBQ1Y7UUFFeEMsMENBQTBDO1FBQzFDVyxJQUFBQSwrQkFBbUIsRUFBQ0YsY0FBY0g7UUFDbENWLGFBQWE7SUFDZjtJQUVBLHFCQUFxQjtJQUNyQixJQUFNZ0IsMEJBQTBCWCw2QkFBNkJZO0lBQzdELElBQUksQ0FBQ04sYUFBYUsseUJBQXlCO1FBQ3pDRSxRQUFRQyxJQUFJLENBQUU7SUFDaEI7QUFDRjtBQUVBLElBQU1wQixnQkFBZ0I7SUFDcEJJLE1BQUFBO0lBQ0FpQixVQUFBQSxjQUFRO0FBQ1YifQ==
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ getDefaultConsoleLog: function() {
13
+ return getDefaultConsoleLog;
14
+ },
15
+ wrapAndSendToLogDNA: function() {
16
+ return wrapAndSendToLogDNA;
17
+ }
18
+ });
19
+ function _array_like_to_array(arr, len) {
20
+ if (len == null || len > arr.length) len = arr.length;
21
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
22
+ return arr2;
23
+ }
24
+ function _array_without_holes(arr) {
25
+ if (Array.isArray(arr)) return _array_like_to_array(arr);
26
+ }
27
+ function _iterable_to_array(iter) {
28
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
29
+ }
30
+ function _non_iterable_spread() {
31
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
32
+ }
33
+ function _to_consumable_array(arr) {
34
+ return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
35
+ }
36
+ function _unsupported_iterable_to_array(o, minLen) {
37
+ if (!o) return;
38
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
39
+ var n = Object.prototype.toString.call(o).slice(8, -1);
40
+ if (n === "Object" && o.constructor) n = o.constructor.name;
41
+ if (n === "Map" || n === "Set") return Array.from(n);
42
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
43
+ }
44
+ // Original console functions
45
+ var _log = console.log;
46
+ var _info = console.info;
47
+ var _warn = console.warn;
48
+ var _error = console.error;
49
+ var wrapAndSendToLogDNA = function(logDNAClient, logLevel) {
50
+ if (logLevel === 'debug') {
51
+ _log('--------------------- Wrapping Console -----------------------');
52
+ }
53
+ var log = function log() {
54
+ for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
55
+ args[_key] = arguments[_key];
56
+ }
57
+ if (logLevel === 'debug') {
58
+ (logDNAClient === null || logDNAClient === void 0 ? void 0 : logDNAClient.debug) && (logDNAClient === null || logDNAClient === void 0 ? void 0 : logDNAClient.debug(_to_consumable_array(args).join(' ')));
59
+ }
60
+ _log.apply(void 0, _to_consumable_array(args));
61
+ };
62
+ var info = function info() {
63
+ for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
64
+ args[_key] = arguments[_key];
65
+ }
66
+ if ([
67
+ 'debug',
68
+ 'info'
69
+ ].indexOf(logLevel) !== -1) {
70
+ (logDNAClient === null || logDNAClient === void 0 ? void 0 : logDNAClient.info) && (logDNAClient === null || logDNAClient === void 0 ? void 0 : logDNAClient.info(_to_consumable_array(args).join(' ')));
71
+ }
72
+ _info.apply(void 0, _to_consumable_array(args));
73
+ };
74
+ var warn = function warn() {
75
+ for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
76
+ args[_key] = arguments[_key];
77
+ }
78
+ (logDNAClient === null || logDNAClient === void 0 ? void 0 : logDNAClient.warn) && logDNAClient.warn(_to_consumable_array(args).join(' '));
79
+ _warn.apply(void 0, _to_consumable_array(args));
80
+ };
81
+ var error = function error() {
82
+ for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
83
+ args[_key] = arguments[_key];
84
+ }
85
+ (logDNAClient === null || logDNAClient === void 0 ? void 0 : logDNAClient.error) && logDNAClient.error(_to_consumable_array(args).join(' '));
86
+ _error.apply(void 0, _to_consumable_array(args));
87
+ };
88
+ // Override default functions with our wrapped functions
89
+ console.log = log;
90
+ console.debug = log;
91
+ console.info = info;
92
+ console.warn = warn;
93
+ console.error = error;
94
+ };
95
+ var getDefaultConsoleLog = function() {
96
+ return _log;
97
+ };
98
+
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25zb2xlL2xvZ1dyYXBwZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBMb2dnZXIgfSBmcm9tICdAbG9nZG5hL2xvZ2dlcic7XG5cbi8vIE9yaWdpbmFsIGNvbnNvbGUgZnVuY3Rpb25zXG5jb25zdCBfbG9nID0gY29uc29sZS5sb2c7XG5jb25zdCBfaW5mbyA9IGNvbnNvbGUuaW5mbztcbmNvbnN0IF93YXJuID0gY29uc29sZS53YXJuO1xuY29uc3QgX2Vycm9yID0gY29uc29sZS5lcnJvcjtcblxuY29uc3Qgd3JhcEFuZFNlbmRUb0xvZ0ROQSA9IChsb2dETkFDbGllbnQ6IExvZ2dlciwgbG9nTGV2ZWw6IHN0cmluZyk6IHZvaWQgPT4ge1xuICBpZiAobG9nTGV2ZWwgPT09ICdkZWJ1ZycpIHtcbiAgICBfbG9nKCctLS0tLS0tLS0tLS0tLS0tLS0tLS0gV3JhcHBpbmcgQ29uc29sZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLScpO1xuICB9XG5cbiAgY29uc3QgbG9nID0gZnVuY3Rpb24gKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgaWYgKGxvZ0xldmVsID09PSAnZGVidWcnKSB7XG4gICAgICBsb2dETkFDbGllbnQ/LmRlYnVnICYmIGxvZ0ROQUNsaWVudD8uZGVidWcoWy4uLmFyZ3NdLmpvaW4oJyAnKSk7XG4gICAgfVxuICAgIF9sb2coLi4uYXJncyk7XG4gIH07XG5cbiAgY29uc3QgaW5mbyA9IGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSkge1xuICAgIGlmIChbJ2RlYnVnJywgJ2luZm8nXS5pbmRleE9mKGxvZ0xldmVsKSAhPT0gLTEpIHtcbiAgICAgIGxvZ0ROQUNsaWVudD8uaW5mbyAmJiBsb2dETkFDbGllbnQ/LmluZm8oWy4uLmFyZ3NdLmpvaW4oJyAnKSk7XG4gICAgfVxuICAgIF9pbmZvKC4uLmFyZ3MpO1xuICB9O1xuXG4gIGNvbnN0IHdhcm4gPSBmdW5jdGlvbiAoLi4uYXJnczogYW55W10pIHtcbiAgICBsb2dETkFDbGllbnQ/Lndhcm4gJiYgbG9nRE5BQ2xpZW50Lndhcm4oWy4uLmFyZ3NdLmpvaW4oJyAnKSk7XG4gICAgX3dhcm4oLi4uYXJncyk7XG4gIH07XG5cbiAgY29uc3QgZXJyb3IgPSBmdW5jdGlvbiAoLi4uYXJnczogYW55W10pIHtcbiAgICBsb2dETkFDbGllbnQ/LmVycm9yICYmIGxvZ0ROQUNsaWVudC5lcnJvcihbLi4uYXJnc10uam9pbignICcpKTtcbiAgICBfZXJyb3IoLi4uYXJncyk7XG4gIH07XG5cbiAgLy8gT3ZlcnJpZGUgZGVmYXVsdCBmdW5jdGlvbnMgd2l0aCBvdXIgd3JhcHBlZCBmdW5jdGlvbnNcbiAgY29uc29sZS5sb2cgPSBsb2c7XG4gIGNvbnNvbGUuZGVidWcgPSBsb2c7XG4gIGNvbnNvbGUuaW5mbyA9IGluZm87XG4gIGNvbnNvbGUud2FybiA9IHdhcm47XG4gIGNvbnNvbGUuZXJyb3IgPSBlcnJvcjtcbn07XG5cbmNvbnN0IGdldERlZmF1bHRDb25zb2xlTG9nID0gKCk6IGFueSA9PiBfbG9nO1xuXG5leHBvcnQgeyB3cmFwQW5kU2VuZFRvTG9nRE5BLCBnZXREZWZhdWx0Q29uc29sZUxvZyB9O1xuIl0sIm5hbWVzIjpbImdldERlZmF1bHRDb25zb2xlTG9nIiwid3JhcEFuZFNlbmRUb0xvZ0ROQSIsIl9sb2ciLCJjb25zb2xlIiwibG9nIiwiX2luZm8iLCJpbmZvIiwiX3dhcm4iLCJ3YXJuIiwiX2Vycm9yIiwiZXJyb3IiLCJsb2dETkFDbGllbnQiLCJsb2dMZXZlbCIsImFyZ3MiLCJkZWJ1ZyIsImpvaW4iLCJpbmRleE9mIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQStDOEJBLG9CQUFvQjtlQUFwQkE7O0lBQXJCQyxtQkFBbUI7ZUFBbkJBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBN0NULDZCQUE2QjtBQUM3QixJQUFNQyxPQUFPQyxRQUFRQyxHQUFHO0FBQ3hCLElBQU1DLFFBQVFGLFFBQVFHLElBQUk7QUFDMUIsSUFBTUMsUUFBUUosUUFBUUssSUFBSTtBQUMxQixJQUFNQyxTQUFTTixRQUFRTyxLQUFLO0FBRTVCLElBQU1ULHNCQUFzQixTQUFDVSxjQUFzQkM7SUFDakQsSUFBSUEsYUFBYSxTQUFTO1FBQ3hCVixLQUFLO0lBQ1A7SUFFQSxJQUFNRSxNQUFNO1FBQVUsSUFBQSxJQUFBLE9BQUEsVUFBQSxRQUFBLEFBQUdTLE9BQUgsVUFBQSxPQUFBLE9BQUEsR0FBQSxPQUFBLE1BQUE7WUFBR0EsS0FBSCxRQUFBLFNBQUEsQ0FBQSxLQUFjOztRQUNsQyxJQUFJRCxhQUFhLFNBQVM7WUFDeEJELENBQUFBLHlCQUFBQSxtQ0FBQUEsYUFBY0csS0FBSyxNQUFJSCx5QkFBQUEsbUNBQUFBLGFBQWNHLEtBQUssQ0FBQyxBQUFDLHFCQUFHRCxNQUFNRSxJQUFJLENBQUM7UUFDNUQ7UUFDQWIsS0FBQUEsTUFBQUEsS0FBQUEsR0FBSyxxQkFBR1c7SUFDVjtJQUVBLElBQU1QLE9BQU87UUFBVSxJQUFBLElBQUEsT0FBQSxVQUFBLFFBQUEsQUFBR08sT0FBSCxVQUFBLE9BQUEsT0FBQSxHQUFBLE9BQUEsTUFBQTtZQUFHQSxLQUFILFFBQUEsU0FBQSxDQUFBLEtBQWM7O1FBQ25DLElBQUk7WUFBQztZQUFTO1NBQU8sQ0FBQ0csT0FBTyxDQUFDSixjQUFjLENBQUMsR0FBRztZQUM5Q0QsQ0FBQUEseUJBQUFBLG1DQUFBQSxhQUFjTCxJQUFJLE1BQUlLLHlCQUFBQSxtQ0FBQUEsYUFBY0wsSUFBSSxDQUFDLEFBQUMscUJBQUdPLE1BQU1FLElBQUksQ0FBQztRQUMxRDtRQUNBVixNQUFBQSxNQUFBQSxLQUFBQSxHQUFNLHFCQUFHUTtJQUNYO0lBRUEsSUFBTUwsT0FBTztRQUFVLElBQUEsSUFBQSxPQUFBLFVBQUEsUUFBQSxBQUFHSyxPQUFILFVBQUEsT0FBQSxPQUFBLEdBQUEsT0FBQSxNQUFBO1lBQUdBLEtBQUgsUUFBQSxTQUFBLENBQUEsS0FBYzs7UUFDbkNGLENBQUFBLHlCQUFBQSxtQ0FBQUEsYUFBY0gsSUFBSSxLQUFJRyxhQUFhSCxJQUFJLENBQUMsQUFBQyxxQkFBR0ssTUFBTUUsSUFBSSxDQUFDO1FBQ3ZEUixNQUFBQSxNQUFBQSxLQUFBQSxHQUFNLHFCQUFHTTtJQUNYO0lBRUEsSUFBTUgsUUFBUTtRQUFVLElBQUEsSUFBQSxPQUFBLFVBQUEsUUFBQSxBQUFHRyxPQUFILFVBQUEsT0FBQSxPQUFBLEdBQUEsT0FBQSxNQUFBO1lBQUdBLEtBQUgsUUFBQSxTQUFBLENBQUEsS0FBYzs7UUFDcENGLENBQUFBLHlCQUFBQSxtQ0FBQUEsYUFBY0QsS0FBSyxLQUFJQyxhQUFhRCxLQUFLLENBQUMsQUFBQyxxQkFBR0csTUFBTUUsSUFBSSxDQUFDO1FBQ3pETixPQUFBQSxNQUFBQSxLQUFBQSxHQUFPLHFCQUFHSTtJQUNaO0lBRUEsd0RBQXdEO0lBQ3hEVixRQUFRQyxHQUFHLEdBQUdBO0lBQ2RELFFBQVFXLEtBQUssR0FBR1Y7SUFDaEJELFFBQVFHLElBQUksR0FBR0E7SUFDZkgsUUFBUUssSUFBSSxHQUFHQTtJQUNmTCxRQUFRTyxLQUFLLEdBQUdBO0FBQ2xCO0FBRUEsSUFBTVYsdUJBQXVCO1dBQVdFIn0=
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "FALLBACK_TIMEOUT_AFTER_FLUSHING", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return FALLBACK_TIMEOUT_AFTER_FLUSHING;
9
+ }
10
+ });
11
+ var FALLBACK_TIMEOUT_AFTER_FLUSHING = 5000;
12
+
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgRkFMTEJBQ0tfVElNRU9VVF9BRlRFUl9GTFVTSElORyA9IDUwMDA7XG5cbmV4cG9ydCB7IEZBTExCQUNLX1RJTUVPVVRfQUZURVJfRkxVU0hJTkcgfTtcbiJdLCJuYW1lcyI6WyJGQUxMQkFDS19USU1FT1VUX0FGVEVSX0ZMVVNISU5HIl0sIm1hcHBpbmdzIjoiOzs7OytCQUVTQTs7O2VBQUFBOzs7QUFGVCxJQUFNQSxrQ0FBa0MifQ==
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ consoleLogger: function() {
13
+ return _console.consoleLogger;
14
+ },
15
+ ensureFlushAll: function() {
16
+ return _util1.ensureFlushAll;
17
+ },
18
+ ensureFlushAllCallback: function() {
19
+ return _util1.ensureFlushAllCallback;
20
+ },
21
+ flushAll: function() {
22
+ return _util1.flushAll;
23
+ },
24
+ getLogParams: function() {
25
+ return _params.getLogParams;
26
+ },
27
+ getLoggerObject: function() {
28
+ return _util.getLoggerObject;
29
+ },
30
+ logger: function() {
31
+ return _logger.logger;
32
+ }
33
+ });
34
+ var _console = require("./console");
35
+ var _logger = require("./logger");
36
+ var _util = require("./logger/util");
37
+ var _params = require("./params");
38
+ var _util1 = require("./util");
39
+
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25zb2xlTG9nZ2VyIH0gZnJvbSAnLi9jb25zb2xlJztcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4vbG9nZ2VyJztcbmltcG9ydCB7IGdldExvZ2dlck9iamVjdCB9IGZyb20gJy4vbG9nZ2VyL3V0aWwnO1xuaW1wb3J0IHsgZ2V0TG9nUGFyYW1zIH0gZnJvbSAnLi9wYXJhbXMnO1xuaW1wb3J0IHsgZmx1c2hBbGwsIGVuc3VyZUZsdXNoQWxsLCBlbnN1cmVGbHVzaEFsbENhbGxiYWNrIH0gZnJvbSAnLi91dGlsJztcblxuLy8gRXhwb3J0IGFsbCB0aGUgZnVuY3Rpb25zXG5leHBvcnQgeyBjb25zb2xlTG9nZ2VyLCBsb2dnZXIsIGdldExvZ2dlck9iamVjdCwgZ2V0TG9nUGFyYW1zLCBmbHVzaEFsbCwgZW5zdXJlRmx1c2hBbGwsIGVuc3VyZUZsdXNoQWxsQ2FsbGJhY2sgfTtcbiJdLCJuYW1lcyI6WyJjb25zb2xlTG9nZ2VyIiwiZW5zdXJlRmx1c2hBbGwiLCJlbnN1cmVGbHVzaEFsbENhbGxiYWNrIiwiZmx1c2hBbGwiLCJnZXRMb2dQYXJhbXMiLCJnZXRMb2dnZXJPYmplY3QiLCJsb2dnZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBT1NBLGFBQWE7ZUFBYkEsc0JBQWE7O0lBQW1EQyxjQUFjO2VBQWRBLHFCQUFjOztJQUFFQyxzQkFBc0I7ZUFBdEJBLDZCQUFzQjs7SUFBaERDLFFBQVE7ZUFBUkEsZUFBUTs7SUFBdEJDLFlBQVk7ZUFBWkEsb0JBQVk7O0lBQTdCQyxlQUFlO2VBQWZBLHFCQUFlOztJQUF2QkMsTUFBTTtlQUFOQSxjQUFNOzs7dUJBUEE7c0JBQ1A7b0JBQ1M7c0JBQ0g7cUJBQ29DIn0=