@beforeyoubid/logger-adapter 1.0.12 → 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 (37) 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/{consts.js → src/consts.js} +1 -1
  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/util.js +328 -0
  25. package/dist/transports/logdnaWinston.d.ts +28 -0
  26. package/dist/types.d.ts +1 -1
  27. package/dist/util.d.ts +1 -0
  28. package/package.json +10 -10
  29. package/dist/console/index.js +0 -37
  30. package/dist/console/logger.d.ts +0 -4
  31. package/dist/console/logger.js +0 -108
  32. package/dist/index.js +0 -36
  33. package/dist/logger/index.js +0 -16
  34. package/dist/logger/logger.js +0 -51
  35. package/dist/params.js +0 -60
  36. package/dist/util.js +0 -291
  37. /package/dist/{types.js → src/types.js} +0 -0
@@ -0,0 +1,24 @@
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('Logger', function() {
11
+ it('should be able to load module', function() {
12
+ var objType = typeof _index.logger === "undefined" ? "undefined" : _type_of(_index.logger);
13
+ expect(objType).toEqual('object');
14
+ expect(_type_of(_index.logger.info)).toEqual('function');
15
+ expect(_type_of(_index.logger.debug)).toEqual('function');
16
+ });
17
+ it('should not prefix my Winston logger', function() {
18
+ var spy = jest.spyOn(_index.logger, 'debug');
19
+ _index.logger.debug('my log message');
20
+ expect(spy).toHaveBeenCalledWith('my log message');
21
+ });
22
+ });
23
+
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9sb2dnZXIvX190ZXN0c19fL2luZGV4LnNwZWMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vaW5kZXgnO1xuXG5kZXNjcmliZSgnTG9nZ2VyJywgKCkgPT4ge1xuICBpdCgnc2hvdWxkIGJlIGFibGUgdG8gbG9hZCBtb2R1bGUnLCAoKSA9PiB7XG4gICAgY29uc3Qgb2JqVHlwZSA9IHR5cGVvZiBsb2dnZXI7XG4gICAgZXhwZWN0KG9ialR5cGUpLnRvRXF1YWwoJ29iamVjdCcpO1xuICAgIGV4cGVjdCh0eXBlb2YgbG9nZ2VyLmluZm8pLnRvRXF1YWwoJ2Z1bmN0aW9uJyk7XG4gICAgZXhwZWN0KHR5cGVvZiBsb2dnZXIuZGVidWcpLnRvRXF1YWwoJ2Z1bmN0aW9uJyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgbm90IHByZWZpeCBteSBXaW5zdG9uIGxvZ2dlcicsICgpID0+IHtcbiAgICBjb25zdCBzcHkgPSBqZXN0LnNweU9uKGxvZ2dlciwgJ2RlYnVnJyk7XG4gICAgbG9nZ2VyLmRlYnVnKCdteSBsb2cgbWVzc2FnZScpO1xuICAgIGV4cGVjdChzcHkpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKCdteSBsb2cgbWVzc2FnZScpO1xuICB9KTtcbn0pO1xuIl0sIm5hbWVzIjpbImRlc2NyaWJlIiwiaXQiLCJvYmpUeXBlIiwibG9nZ2VyIiwiZXhwZWN0IiwidG9FcXVhbCIsImluZm8iLCJkZWJ1ZyIsInNweSIsImplc3QiLCJzcHlPbiIsInRvSGF2ZUJlZW5DYWxsZWRXaXRoIl0sIm1hcHBpbmdzIjoiOzs7O3FCQUF1Qjs7Ozs7QUFFdkJBLFNBQVMsVUFBVTtJQUNqQkMsR0FBRyxpQ0FBaUM7UUFDbEMsSUFBTUMsVUFBVSxPQUFPQyxhQUFNLGlDQUFiLFNBQU9BLGFBQU07UUFDN0JDLE9BQU9GLFNBQVNHLE9BQU8sQ0FBQztRQUN4QkQsT0FBTyxTQUFPRCxhQUFNLENBQUNHLElBQUksR0FBRUQsT0FBTyxDQUFDO1FBQ25DRCxPQUFPLFNBQU9ELGFBQU0sQ0FBQ0ksS0FBSyxHQUFFRixPQUFPLENBQUM7SUFDdEM7SUFFQUosR0FBRyx1Q0FBdUM7UUFDeEMsSUFBTU8sTUFBTUMsS0FBS0MsS0FBSyxDQUFDUCxhQUFNLEVBQUU7UUFDL0JBLGFBQU0sQ0FBQ0ksS0FBSyxDQUFDO1FBQ2JILE9BQU9JLEtBQUtHLG9CQUFvQixDQUFDO0lBQ25DO0FBQ0YifQ==
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ var _winston = /*#__PURE__*/ _interop_require_default(require("winston"));
6
+ var _logger = require("../../../src/logger/logger");
7
+ function _define_property(obj, key, value) {
8
+ if (key in obj) {
9
+ Object.defineProperty(obj, key, {
10
+ value: value,
11
+ enumerable: true,
12
+ configurable: true,
13
+ writable: true
14
+ });
15
+ } else {
16
+ obj[key] = value;
17
+ }
18
+ return obj;
19
+ }
20
+ function _interop_require_default(obj) {
21
+ return obj && obj.__esModule ? obj : {
22
+ default: obj
23
+ };
24
+ }
25
+ function _object_spread(target) {
26
+ for(var i = 1; i < arguments.length; i++){
27
+ var source = arguments[i] != null ? arguments[i] : {};
28
+ var ownKeys = Object.keys(source);
29
+ if (typeof Object.getOwnPropertySymbols === "function") {
30
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
31
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
32
+ }));
33
+ }
34
+ ownKeys.forEach(function(key) {
35
+ _define_property(target, key, source[key]);
36
+ });
37
+ }
38
+ return target;
39
+ }
40
+ function ownKeys(object, enumerableOnly) {
41
+ var keys = Object.keys(object);
42
+ if (Object.getOwnPropertySymbols) {
43
+ var symbols = Object.getOwnPropertySymbols(object);
44
+ if (enumerableOnly) {
45
+ symbols = symbols.filter(function(sym) {
46
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
47
+ });
48
+ }
49
+ keys.push.apply(keys, symbols);
50
+ }
51
+ return keys;
52
+ }
53
+ function _object_spread_props(target, source) {
54
+ source = source != null ? source : {};
55
+ if (Object.getOwnPropertyDescriptors) {
56
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
57
+ } else {
58
+ ownKeys(Object(source)).forEach(function(key) {
59
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
60
+ });
61
+ }
62
+ return target;
63
+ }
64
+ jest.mock('winston', function() {
65
+ return _object_spread_props(_object_spread({}, jest.requireActual('winston')), {
66
+ createLogger: jest.fn()
67
+ });
68
+ });
69
+ describe('setupWinstonLogger', function() {
70
+ var debugMock;
71
+ var addMock;
72
+ beforeAll(function() {
73
+ debugMock = jest.fn();
74
+ addMock = jest.fn();
75
+ _winston.default.createLogger.mockReturnValue({
76
+ add: addMock,
77
+ debug: debugMock
78
+ });
79
+ });
80
+ beforeEach(function() {
81
+ debugMock.mockClear();
82
+ addMock.mockClear();
83
+ });
84
+ it('should return logger', function() {
85
+ var logger = (0, _logger.setupWinstonLogger)({});
86
+ expect(logger).toEqual({
87
+ add: addMock,
88
+ debug: debugMock
89
+ });
90
+ });
91
+ describe('logdna transport', function() {
92
+ describe('when keys provided', function() {
93
+ it('should add the transport', function() {
94
+ (0, _logger.setupWinstonLogger)({
95
+ logDNAOptions: {
96
+ key: Math.random().toString()
97
+ },
98
+ logDNAKey: Math.random().toString(),
99
+ sendToRemote: true
100
+ });
101
+ expect(addMock).toHaveBeenCalled();
102
+ });
103
+ });
104
+ describe('when keys not provided', function() {
105
+ it('shouldnt add the transport', function() {
106
+ (0, _logger.setupWinstonLogger)({
107
+ logDNAOptions: {}
108
+ });
109
+ expect(addMock).not.toHaveBeenCalled();
110
+ });
111
+ });
112
+ });
113
+ describe('debug statement', function() {
114
+ describe('when lambda function name in env variables', function() {
115
+ beforeEach(function() {
116
+ process.env.AWS_LAMBDA_FUNCTION_NAME = Math.random().toString();
117
+ });
118
+ it('should print disabled msg', function() {
119
+ (0, _logger.setupWinstonLogger)({
120
+ logDNAOptions: {}
121
+ });
122
+ expect(debugMock).toHaveBeenCalledWith('LOGDNA is disabled');
123
+ });
124
+ });
125
+ describe('when lambda function name not in env variables', function() {
126
+ beforeEach(function() {
127
+ delete process.env.AWS_LAMBDA_FUNCTION_NAME;
128
+ });
129
+ it('should not print disabled msg', function() {
130
+ (0, _logger.setupWinstonLogger)({
131
+ logDNAOptions: {}
132
+ });
133
+ expect(debugMock).not.toHaveBeenCalledWith('LOGDNA is disabled');
134
+ });
135
+ });
136
+ });
137
+ });
138
+
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9sb2dnZXIvX190ZXN0c19fL2xvZ2dlci5zcGVjLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB3aW5zdG9uIGZyb20gJ3dpbnN0b24nO1xuXG5pbXBvcnQgeyBzZXR1cFdpbnN0b25Mb2dnZXIgfSBmcm9tICcuLi8uLi8uLi9zcmMvbG9nZ2VyL2xvZ2dlcic7XG5cbnR5cGUgSUxvZ0ROQVBhcmFtcyA9IFBhcmFtZXRlcnM8dHlwZW9mIHNldHVwV2luc3RvbkxvZ2dlcj5bMF07XG5cbmplc3QubW9jaygnd2luc3RvbicsICgpID0+ICh7XG4gIC4uLmplc3QucmVxdWlyZUFjdHVhbCgnd2luc3RvbicpLFxuICBjcmVhdGVMb2dnZXI6IGplc3QuZm4oKSxcbn0pKTtcblxuZGVzY3JpYmUoJ3NldHVwV2luc3RvbkxvZ2dlcicsICgpID0+IHtcbiAgbGV0IGRlYnVnTW9jazogamVzdC5Nb2NrO1xuICBsZXQgYWRkTW9jazogamVzdC5Nb2NrO1xuICBiZWZvcmVBbGwoKCkgPT4ge1xuICAgIGRlYnVnTW9jayA9IGplc3QuZm4oKTtcbiAgICBhZGRNb2NrID0gamVzdC5mbigpO1xuICAgICh3aW5zdG9uLmNyZWF0ZUxvZ2dlciBhcyBqZXN0Lk1vY2spLm1vY2tSZXR1cm5WYWx1ZSh7XG4gICAgICBhZGQ6IGFkZE1vY2ssXG4gICAgICBkZWJ1ZzogZGVidWdNb2NrLFxuICAgIH0pO1xuICB9KTtcbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgZGVidWdNb2NrLm1vY2tDbGVhcigpO1xuICAgIGFkZE1vY2subW9ja0NsZWFyKCk7XG4gIH0pO1xuICBpdCgnc2hvdWxkIHJldHVybiBsb2dnZXInLCAoKSA9PiB7XG4gICAgY29uc3QgbG9nZ2VyID0gc2V0dXBXaW5zdG9uTG9nZ2VyKHt9IGFzIElMb2dETkFQYXJhbXMpO1xuICAgIGV4cGVjdChsb2dnZXIpLnRvRXF1YWwoe1xuICAgICAgYWRkOiBhZGRNb2NrLFxuICAgICAgZGVidWc6IGRlYnVnTW9jayxcbiAgICB9KTtcbiAgfSk7XG4gIGRlc2NyaWJlKCdsb2dkbmEgdHJhbnNwb3J0JywgKCkgPT4ge1xuICAgIGRlc2NyaWJlKCd3aGVuIGtleXMgcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgICBpdCgnc2hvdWxkIGFkZCB0aGUgdHJhbnNwb3J0JywgKCkgPT4ge1xuICAgICAgICBzZXR1cFdpbnN0b25Mb2dnZXIoe1xuICAgICAgICAgIGxvZ0ROQU9wdGlvbnM6IHtcbiAgICAgICAgICAgIGtleTogTWF0aC5yYW5kb20oKS50b1N0cmluZygpLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgbG9nRE5BS2V5OiBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKCksXG4gICAgICAgICAgc2VuZFRvUmVtb3RlOiB0cnVlLFxuICAgICAgICB9IGFzIElMb2dETkFQYXJhbXMpO1xuICAgICAgICBleHBlY3QoYWRkTW9jaykudG9IYXZlQmVlbkNhbGxlZCgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgZGVzY3JpYmUoJ3doZW4ga2V5cyBub3QgcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgICBpdCgnc2hvdWxkbnQgYWRkIHRoZSB0cmFuc3BvcnQnLCAoKSA9PiB7XG4gICAgICAgIHNldHVwV2luc3RvbkxvZ2dlcih7XG4gICAgICAgICAgbG9nRE5BT3B0aW9uczoge30sXG4gICAgICAgIH0gYXMgSUxvZ0ROQVBhcmFtcyk7XG4gICAgICAgIGV4cGVjdChhZGRNb2NrKS5ub3QudG9IYXZlQmVlbkNhbGxlZCgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xuICBkZXNjcmliZSgnZGVidWcgc3RhdGVtZW50JywgKCkgPT4ge1xuICAgIGRlc2NyaWJlKCd3aGVuIGxhbWJkYSBmdW5jdGlvbiBuYW1lIGluIGVudiB2YXJpYWJsZXMnLCAoKSA9PiB7XG4gICAgICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICAgICAgcHJvY2Vzcy5lbnYuQVdTX0xBTUJEQV9GVU5DVElPTl9OQU1FID0gTWF0aC5yYW5kb20oKS50b1N0cmluZygpO1xuICAgICAgfSk7XG4gICAgICBpdCgnc2hvdWxkIHByaW50IGRpc2FibGVkIG1zZycsICgpID0+IHtcbiAgICAgICAgc2V0dXBXaW5zdG9uTG9nZ2VyKHtcbiAgICAgICAgICBsb2dETkFPcHRpb25zOiB7fSxcbiAgICAgICAgfSBhcyBJTG9nRE5BUGFyYW1zKTtcbiAgICAgICAgZXhwZWN0KGRlYnVnTW9jaykudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ0xPR0ROQSBpcyBkaXNhYmxlZCcpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgZGVzY3JpYmUoJ3doZW4gbGFtYmRhIGZ1bmN0aW9uIG5hbWUgbm90IGluIGVudiB2YXJpYWJsZXMnLCAoKSA9PiB7XG4gICAgICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICAgICAgZGVsZXRlIHByb2Nlc3MuZW52LkFXU19MQU1CREFfRlVOQ1RJT05fTkFNRTtcbiAgICAgIH0pO1xuICAgICAgaXQoJ3Nob3VsZCBub3QgcHJpbnQgZGlzYWJsZWQgbXNnJywgKCkgPT4ge1xuICAgICAgICBzZXR1cFdpbnN0b25Mb2dnZXIoe1xuICAgICAgICAgIGxvZ0ROQU9wdGlvbnM6IHt9LFxuICAgICAgICB9IGFzIElMb2dETkFQYXJhbXMpO1xuICAgICAgICBleHBlY3QoZGVidWdNb2NrKS5ub3QudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ0xPR0ROQSBpcyBkaXNhYmxlZCcpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwibmFtZXMiOlsiamVzdCIsIm1vY2siLCJyZXF1aXJlQWN0dWFsIiwiY3JlYXRlTG9nZ2VyIiwiZm4iLCJkZXNjcmliZSIsImRlYnVnTW9jayIsImFkZE1vY2siLCJiZWZvcmVBbGwiLCJ3aW5zdG9uIiwibW9ja1JldHVyblZhbHVlIiwiYWRkIiwiZGVidWciLCJiZWZvcmVFYWNoIiwibW9ja0NsZWFyIiwiaXQiLCJsb2dnZXIiLCJzZXR1cFdpbnN0b25Mb2dnZXIiLCJleHBlY3QiLCJ0b0VxdWFsIiwibG9nRE5BT3B0aW9ucyIsImtleSIsIk1hdGgiLCJyYW5kb20iLCJ0b1N0cmluZyIsImxvZ0ROQUtleSIsInNlbmRUb1JlbW90ZSIsInRvSGF2ZUJlZW5DYWxsZWQiLCJub3QiLCJwcm9jZXNzIiwiZW52IiwiQVdTX0xBTUJEQV9GVU5DVElPTl9OQU1FIiwidG9IYXZlQmVlbkNhbGxlZFdpdGgiXSwibWFwcGluZ3MiOiI7Ozs7OERBQW9CO3NCQUVlOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSW5DQSxLQUFLQyxJQUFJLENBQUMsV0FBVztXQUFPLHdDQUN2QkQsS0FBS0UsYUFBYSxDQUFDO1FBQ3RCQyxjQUFjSCxLQUFLSSxFQUFFOzs7QUFHdkJDLFNBQVMsc0JBQXNCO0lBQzdCLElBQUlDO0lBQ0osSUFBSUM7SUFDSkMsVUFBVTtRQUNSRixZQUFZTixLQUFLSSxFQUFFO1FBQ25CRyxVQUFVUCxLQUFLSSxFQUFFO1FBQ2hCSyxnQkFBTyxDQUFDTixZQUFZLENBQWVPLGVBQWUsQ0FBQztZQUNsREMsS0FBS0o7WUFDTEssT0FBT047UUFDVDtJQUNGO0lBQ0FPLFdBQVc7UUFDVFAsVUFBVVEsU0FBUztRQUNuQlAsUUFBUU8sU0FBUztJQUNuQjtJQUNBQyxHQUFHLHdCQUF3QjtRQUN6QixJQUFNQyxTQUFTQyxJQUFBQSwwQkFBa0IsRUFBQyxDQUFDO1FBQ25DQyxPQUFPRixRQUFRRyxPQUFPLENBQUM7WUFDckJSLEtBQUtKO1lBQ0xLLE9BQU9OO1FBQ1Q7SUFDRjtJQUNBRCxTQUFTLG9CQUFvQjtRQUMzQkEsU0FBUyxzQkFBc0I7WUFDN0JVLEdBQUcsNEJBQTRCO2dCQUM3QkUsSUFBQUEsMEJBQWtCLEVBQUM7b0JBQ2pCRyxlQUFlO3dCQUNiQyxLQUFLQyxLQUFLQyxNQUFNLEdBQUdDLFFBQVE7b0JBQzdCO29CQUNBQyxXQUFXSCxLQUFLQyxNQUFNLEdBQUdDLFFBQVE7b0JBQ2pDRSxjQUFjO2dCQUNoQjtnQkFDQVIsT0FBT1gsU0FBU29CLGdCQUFnQjtZQUNsQztRQUNGO1FBQ0F0QixTQUFTLDBCQUEwQjtZQUNqQ1UsR0FBRyw4QkFBOEI7Z0JBQy9CRSxJQUFBQSwwQkFBa0IsRUFBQztvQkFDakJHLGVBQWUsQ0FBQztnQkFDbEI7Z0JBQ0FGLE9BQU9YLFNBQVNxQixHQUFHLENBQUNELGdCQUFnQjtZQUN0QztRQUNGO0lBQ0Y7SUFDQXRCLFNBQVMsbUJBQW1CO1FBQzFCQSxTQUFTLDhDQUE4QztZQUNyRFEsV0FBVztnQkFDVGdCLFFBQVFDLEdBQUcsQ0FBQ0Msd0JBQXdCLEdBQUdULEtBQUtDLE1BQU0sR0FBR0MsUUFBUTtZQUMvRDtZQUNBVCxHQUFHLDZCQUE2QjtnQkFDOUJFLElBQUFBLDBCQUFrQixFQUFDO29CQUNqQkcsZUFBZSxDQUFDO2dCQUNsQjtnQkFDQUYsT0FBT1osV0FBVzBCLG9CQUFvQixDQUFDO1lBQ3pDO1FBQ0Y7UUFDQTNCLFNBQVMsa0RBQWtEO1lBQ3pEUSxXQUFXO2dCQUNULE9BQU9nQixRQUFRQyxHQUFHLENBQUNDLHdCQUF3QjtZQUM3QztZQUNBaEIsR0FBRyxpQ0FBaUM7Z0JBQ2xDRSxJQUFBQSwwQkFBa0IsRUFBQztvQkFDakJHLGVBQWUsQ0FBQztnQkFDbEI7Z0JBQ0FGLE9BQU9aLFdBQVdzQixHQUFHLENBQUNJLG9CQUFvQixDQUFDO1lBQzdDO1FBQ0Y7SUFDRjtBQUNGIn0=
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ var _index = require("../index");
6
+ var _util = require("../util");
7
+ function _define_property(obj, key, value) {
8
+ if (key in obj) {
9
+ Object.defineProperty(obj, key, {
10
+ value: value,
11
+ enumerable: true,
12
+ configurable: true,
13
+ writable: true
14
+ });
15
+ } else {
16
+ obj[key] = value;
17
+ }
18
+ return obj;
19
+ }
20
+ function _object_spread(target) {
21
+ for(var i = 1; i < arguments.length; i++){
22
+ var source = arguments[i] != null ? arguments[i] : {};
23
+ var ownKeys = Object.keys(source);
24
+ if (typeof Object.getOwnPropertySymbols === "function") {
25
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
26
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
27
+ }));
28
+ }
29
+ ownKeys.forEach(function(key) {
30
+ _define_property(target, key, source[key]);
31
+ });
32
+ }
33
+ return target;
34
+ }
35
+ function ownKeys(object, enumerableOnly) {
36
+ var keys = Object.keys(object);
37
+ if (Object.getOwnPropertySymbols) {
38
+ var symbols = Object.getOwnPropertySymbols(object);
39
+ if (enumerableOnly) {
40
+ symbols = symbols.filter(function(sym) {
41
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
42
+ });
43
+ }
44
+ keys.push.apply(keys, symbols);
45
+ }
46
+ return keys;
47
+ }
48
+ function _object_spread_props(target, source) {
49
+ source = source != null ? source : {};
50
+ if (Object.getOwnPropertyDescriptors) {
51
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
52
+ } else {
53
+ ownKeys(Object(source)).forEach(function(key) {
54
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
55
+ });
56
+ }
57
+ return target;
58
+ }
59
+ jest.mock('../../util', function() {
60
+ return _object_spread_props(_object_spread({}, jest.requireActual('../../util')), {
61
+ isLogDNAEnabled: function() {
62
+ return false;
63
+ }
64
+ });
65
+ });
66
+ describe('getLoggerObject', function() {
67
+ it('should prefix my log object', function() {
68
+ var spy = jest.spyOn(_index.logger, 'debug');
69
+ var testLoggerObject = (0, _util.getLoggerObject)('[MY-PREFIX]');
70
+ testLoggerObject.debug('my log message');
71
+ expect(spy).toHaveBeenCalledWith('[MY-PREFIX]: "my log message"');
72
+ });
73
+ it('should not prefix my log object if I leave it empty', function() {
74
+ var spy = jest.spyOn(_index.logger, 'debug');
75
+ var testLoggerObject = (0, _util.getLoggerObject)();
76
+ testLoggerObject.debug('my log message');
77
+ expect(spy).toHaveBeenCalledWith('"my log message"');
78
+ });
79
+ });
80
+
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9sb2dnZXIvX190ZXN0c19fL3V0aWwuc3BlYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJqZXN0Lm1vY2soJy4uLy4uL3V0aWwnLCAoKSA9PiAoe1xuICAuLi5qZXN0LnJlcXVpcmVBY3R1YWwoJy4uLy4uL3V0aWwnKSxcbiAgaXNMb2dETkFFbmFibGVkOiAoKSA9PiBmYWxzZSxcbn0pKTtcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4uL2luZGV4JztcbmltcG9ydCB7IGdldExvZ2dlck9iamVjdCB9IGZyb20gJy4uL3V0aWwnO1xuXG5kZXNjcmliZSgnZ2V0TG9nZ2VyT2JqZWN0JywgKCkgPT4ge1xuICBpdCgnc2hvdWxkIHByZWZpeCBteSBsb2cgb2JqZWN0JywgKCkgPT4ge1xuICAgIGNvbnN0IHNweSA9IGplc3Quc3B5T24obG9nZ2VyLCAnZGVidWcnKTtcbiAgICBjb25zdCB0ZXN0TG9nZ2VyT2JqZWN0ID0gZ2V0TG9nZ2VyT2JqZWN0KCdbTVktUFJFRklYXScpO1xuICAgIHRlc3RMb2dnZXJPYmplY3QuZGVidWcoJ215IGxvZyBtZXNzYWdlJyk7XG4gICAgZXhwZWN0KHNweSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ1tNWS1QUkVGSVhdOiBcIm15IGxvZyBtZXNzYWdlXCInKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBub3QgcHJlZml4IG15IGxvZyBvYmplY3QgaWYgSSBsZWF2ZSBpdCBlbXB0eScsICgpID0+IHtcbiAgICBjb25zdCBzcHkgPSBqZXN0LnNweU9uKGxvZ2dlciwgJ2RlYnVnJyk7XG4gICAgY29uc3QgdGVzdExvZ2dlck9iamVjdCA9IGdldExvZ2dlck9iamVjdCgpO1xuICAgIHRlc3RMb2dnZXJPYmplY3QuZGVidWcoJ215IGxvZyBtZXNzYWdlJyk7XG4gICAgZXhwZWN0KHNweSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ1wibXkgbG9nIG1lc3NhZ2VcIicpO1xuICB9KTtcbn0pO1xuIl0sIm5hbWVzIjpbImplc3QiLCJtb2NrIiwicmVxdWlyZUFjdHVhbCIsImlzTG9nRE5BRW5hYmxlZCIsImRlc2NyaWJlIiwiaXQiLCJzcHkiLCJzcHlPbiIsImxvZ2dlciIsInRlc3RMb2dnZXJPYmplY3QiLCJnZXRMb2dnZXJPYmplY3QiLCJkZWJ1ZyIsImV4cGVjdCIsInRvSGF2ZUJlZW5DYWxsZWRXaXRoIl0sIm1hcHBpbmdzIjoiOzs7O3FCQUl1QjtvQkFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFMaENBLEtBQUtDLElBQUksQ0FBQyxjQUFjO1dBQU8sd0NBQzFCRCxLQUFLRSxhQUFhLENBQUM7UUFDdEJDLGlCQUFpQjttQkFBTTs7OztBQUt6QkMsU0FBUyxtQkFBbUI7SUFDMUJDLEdBQUcsK0JBQStCO1FBQ2hDLElBQU1DLE1BQU1OLEtBQUtPLEtBQUssQ0FBQ0MsYUFBTSxFQUFFO1FBQy9CLElBQU1DLG1CQUFtQkMsSUFBQUEscUJBQWUsRUFBQztRQUN6Q0QsaUJBQWlCRSxLQUFLLENBQUM7UUFDdkJDLE9BQU9OLEtBQUtPLG9CQUFvQixDQUFDO0lBQ25DO0lBRUFSLEdBQUcsdURBQXVEO1FBQ3hELElBQU1DLE1BQU1OLEtBQUtPLEtBQUssQ0FBQ0MsYUFBTSxFQUFFO1FBQy9CLElBQU1DLG1CQUFtQkMsSUFBQUEscUJBQWU7UUFDeENELGlCQUFpQkUsS0FBSyxDQUFDO1FBQ3ZCQyxPQUFPTixLQUFLTyxvQkFBb0IsQ0FBQztJQUNuQztBQUNGIn0=
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "logger", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return logger;
9
+ }
10
+ });
11
+ var _params = require("../params");
12
+ var _logger = require("./logger");
13
+ var logParams = (0, _params.getLogParams)();
14
+ // Create a singleton logger object during module initialisation
15
+ var logger = (0, _logger.setupWinstonLogger)(logParams);
16
+
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sb2dnZXIvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0TG9nUGFyYW1zIH0gZnJvbSAnLi4vcGFyYW1zJztcbmltcG9ydCB7IHNldHVwV2luc3RvbkxvZ2dlciB9IGZyb20gJy4vbG9nZ2VyJztcblxuY29uc3QgbG9nUGFyYW1zID0gZ2V0TG9nUGFyYW1zKCk7XG5cbi8vIENyZWF0ZSBhIHNpbmdsZXRvbiBsb2dnZXIgb2JqZWN0IGR1cmluZyBtb2R1bGUgaW5pdGlhbGlzYXRpb25cbmNvbnN0IGxvZ2dlciA9IHNldHVwV2luc3RvbkxvZ2dlcihsb2dQYXJhbXMpO1xuXG5leHBvcnQgeyBsb2dnZXIgfTtcbiJdLCJuYW1lcyI6WyJsb2dnZXIiLCJsb2dQYXJhbXMiLCJnZXRMb2dQYXJhbXMiLCJzZXR1cFdpbnN0b25Mb2dnZXIiXSwibWFwcGluZ3MiOiI7Ozs7K0JBUVNBOzs7ZUFBQUE7OztzQkFSb0I7c0JBQ007QUFFbkMsSUFBTUMsWUFBWUMsSUFBQUEsb0JBQVk7QUFFOUIsZ0VBQWdFO0FBQ2hFLElBQU1GLFNBQVNHLElBQUFBLDBCQUFrQixFQUFDRiJ9
@@ -0,0 +1,47 @@
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
+ createLogDNAClient: function() {
13
+ return createLogDNAClient;
14
+ },
15
+ getLogDNAClient: function() {
16
+ return getLogDNAClient;
17
+ }
18
+ });
19
+ var _logger = /*#__PURE__*/ _interop_require_default(require("@logdna/logger"));
20
+ function _interop_require_default(obj) {
21
+ return obj && obj.__esModule ? obj : {
22
+ default: obj
23
+ };
24
+ }
25
+ // A singleton object in this module
26
+ var logdnaClient;
27
+ var createLogDNAClient = function(params) {
28
+ if (logdnaClient) return logdnaClient;
29
+ var logDNAKey = params.logDNAKey, logDNAOptions = params.logDNAOptions;
30
+ var env = logDNAOptions.env, app = logDNAOptions.app, tags = logDNAOptions.tags, level = logDNAOptions.level;
31
+ var options = {
32
+ env: env,
33
+ app: app,
34
+ hostname: env,
35
+ indexMeta: true,
36
+ tags: tags,
37
+ level: level
38
+ };
39
+ // Create a singleton client
40
+ logdnaClient = _logger.default.createLogger(logDNAKey, options);
41
+ return logdnaClient;
42
+ };
43
+ var getLogDNAClient = function() {
44
+ return logdnaClient;
45
+ };
46
+
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sb2dnZXIvbG9nZG5hQ2xpZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2dETkFMb2dnZXIsIHsgdHlwZSBDb25zdHJ1Y3Rvck9wdGlvbnMgfSBmcm9tICdAbG9nZG5hL2xvZ2dlcic7XG5pbXBvcnQgeyB0eXBlIElMb2dETkFQYXJhbXMgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8vIEEgc2luZ2xldG9uIG9iamVjdCBpbiB0aGlzIG1vZHVsZVxubGV0IGxvZ2RuYUNsaWVudDogTG9nRE5BTG9nZ2VyLkxvZ2dlcjtcblxuLyoqXG4gKiBDcmVhdGUgb25lIHNpbmdsZSBpbnN0YW5jZSBvZiBMb2dETkEgKE1lem1vKSBjbGllbnQgc28gaXQgY2FuIGJlIHNoYXJlZC91c2VkIGluIHR3byBjYXNlc1xuICogMSkgVXNlIGl0IHdpdGggdGhlIGNvbnNvbGUgd3JhcHBlci4gV2Ugc2VuZCBhbnl0aGluZyBmcm9tIGNvbnNvbGUubG9nKCksIGNvbnNvbGUuaW5mbygpLCBjb25zb2xlLmVycm9yKClcbiAqICAgIHRvIExvZ0ROQSBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS4gQ29uc3VtZXIgY2FuIHVzZSB0aGlzIGJ5IGNhbGxpbmcgY29uc29sZUxvZ2dlci5pbml0KClcbiAqIDIpIFVzZSBpdCB3aXRoIGEgV2luc3RvbiBsb2dnZXIgYXMgcGFydCBvZiB0aGUgdHJhbnNwb3J0cyB0byBzZW5kIGxvZ3MgdG8gTG9nRE5BXG4gKlxuICogQmVmb3JlIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiwgbWFrZSBzdXJlIHdlIGNoZWNrIGlmIExvZ0ROQSBpcyBlbmFibGVkIGJlZm9yZSBjcmVhdGluZyBpdFxuICpcbiAqIEBwYXJhbSBwYXJhbXNcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBjb25zdCBjcmVhdGVMb2dETkFDbGllbnQgPSAocGFyYW1zOiBJTG9nRE5BUGFyYW1zKTogTG9nRE5BTG9nZ2VyLkxvZ2dlciA9PiB7XG4gIGlmIChsb2dkbmFDbGllbnQpIHJldHVybiBsb2dkbmFDbGllbnQ7XG5cbiAgY29uc3QgeyBsb2dETkFLZXksIGxvZ0ROQU9wdGlvbnMgfSA9IHBhcmFtcztcbiAgY29uc3QgeyBlbnYsIGFwcCwgdGFncywgbGV2ZWwgfSA9IGxvZ0ROQU9wdGlvbnM7XG4gIGNvbnN0IG9wdGlvbnM6IENvbnN0cnVjdG9yT3B0aW9ucyA9IHtcbiAgICBlbnYsXG4gICAgYXBwLFxuICAgIGhvc3RuYW1lOiBlbnYsXG4gICAgaW5kZXhNZXRhOiB0cnVlLFxuICAgIHRhZ3MsXG4gICAgbGV2ZWwsXG4gIH07XG5cbiAgLy8gQ3JlYXRlIGEgc2luZ2xldG9uIGNsaWVudFxuICBsb2dkbmFDbGllbnQgPSBMb2dETkFMb2dnZXIuY3JlYXRlTG9nZ2VyKGxvZ0ROQUtleSwgb3B0aW9ucyk7XG4gIHJldHVybiBsb2dkbmFDbGllbnQ7XG59O1xuXG4vKipcbiAqIFJldHVybiB0aGUgc2luZ2xldG9uIGluc3RhbmNlIG9mIExvZ0ROQSBjbGllbnQgY3JlYXRlZCBieSBjcmVhdGVMb2dETkFDbGllbnQoKVxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGNvbnN0IGdldExvZ0ROQUNsaWVudCA9ICgpOiBMb2dETkFMb2dnZXIuTG9nZ2VyID0+IHtcbiAgcmV0dXJuIGxvZ2RuYUNsaWVudDtcbn07XG4iXSwibmFtZXMiOlsiY3JlYXRlTG9nRE5BQ2xpZW50IiwiZ2V0TG9nRE5BQ2xpZW50IiwibG9nZG5hQ2xpZW50IiwicGFyYW1zIiwibG9nRE5BS2V5IiwibG9nRE5BT3B0aW9ucyIsImVudiIsImFwcCIsInRhZ3MiLCJsZXZlbCIsIm9wdGlvbnMiLCJob3N0bmFtZSIsImluZGV4TWV0YSIsIkxvZ0ROQUxvZ2dlciIsImNyZWF0ZUxvZ2dlciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFpQmFBLGtCQUFrQjtlQUFsQkE7O0lBdUJBQyxlQUFlO2VBQWZBOzs7NkRBeEN5Qzs7Ozs7O0FBR3RELG9DQUFvQztBQUNwQyxJQUFJQztBQWFHLElBQU1GLHFCQUFxQixTQUFDRztJQUNqQyxJQUFJRCxjQUFjLE9BQU9BO0lBRXpCLElBQVFFLFlBQTZCRCxPQUE3QkMsV0FBV0MsZ0JBQWtCRixPQUFsQkU7SUFDbkIsSUFBUUMsTUFBMEJELGNBQTFCQyxLQUFLQyxNQUFxQkYsY0FBckJFLEtBQUtDLE9BQWdCSCxjQUFoQkcsTUFBTUMsUUFBVUosY0FBVkk7SUFDeEIsSUFBTUMsVUFBOEI7UUFDbENKLEtBQUFBO1FBQ0FDLEtBQUFBO1FBQ0FJLFVBQVVMO1FBQ1ZNLFdBQVc7UUFDWEosTUFBQUE7UUFDQUMsT0FBQUE7SUFDRjtJQUVBLDRCQUE0QjtJQUM1QlAsZUFBZVcsZUFBWSxDQUFDQyxZQUFZLENBQUNWLFdBQVdNO0lBQ3BELE9BQU9SO0FBQ1Q7QUFNTyxJQUFNRCxrQkFBa0I7SUFDN0IsT0FBT0M7QUFDVCJ9
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "setupWinstonLogger", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return setupWinstonLogger;
9
+ }
10
+ });
11
+ var _winston = /*#__PURE__*/ _interop_require_default(require("winston"));
12
+ var _logdnaClient = require("./logdnaClient");
13
+ var _logdnaWinston = require("../transports/logdnaWinston");
14
+ var _util = require("../util");
15
+ function _interop_require_default(obj) {
16
+ return obj && obj.__esModule ? obj : {
17
+ default: obj
18
+ };
19
+ }
20
+ var format = _winston.default.format, transports = _winston.default.transports;
21
+ var createWinstonLogger = function(logLevel) {
22
+ var logger = _winston.default.createLogger({
23
+ level: logLevel || 'info',
24
+ format: format.combine(format.timestamp(), format.simple(), format.printf(function(info) {
25
+ return "".concat(info.timestamp, " - ").concat(info.level, ": ").concat(info.message);
26
+ })),
27
+ transports: [
28
+ new transports.Console({
29
+ format: format.combine(format.timestamp(), format.simple(), format.printf(function(info) {
30
+ return "".concat(info.timestamp, " - ").concat(info.level, ": ").concat(info.message);
31
+ }), format.colorize({
32
+ all: true
33
+ }))
34
+ })
35
+ ]
36
+ });
37
+ return logger;
38
+ };
39
+ /**
40
+ * Create a Winston logger object so that we can get a few benefits
41
+ * 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
42
+ * 2. We can also format the colour of the log lines so that it's easier to read in the local docker container
43
+ * 3. We can use the same logger object and send logs to logDNA using transports mechanism
44
+ *
45
+ * @param params
46
+ * @returns
47
+ */ var setupWinstonLogger = function(params) {
48
+ var AWS_LAMBDA_FUNCTION_NAME = process.env.AWS_LAMBDA_FUNCTION_NAME;
49
+ var logLevel = params.logLevel, logDNAOptions = params.logDNAOptions, logDNAKey = params.logDNAKey, sendToRemote = params.sendToRemote;
50
+ var isEnabled = (0, _util.isLogDNAEnabled)(logDNAKey, sendToRemote);
51
+ var logger = createWinstonLogger(logLevel);
52
+ if (isEnabled) {
53
+ var logdnaClient = (0, _logdnaClient.createLogDNAClient)(params);
54
+ logger.add(new _logdnaWinston.LogDNATransport(logDNAOptions, logdnaClient));
55
+ } else if (AWS_LAMBDA_FUNCTION_NAME !== undefined) {
56
+ logger.debug("LOGDNA is disabled");
57
+ }
58
+ return logger;
59
+ };
60
+
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sb2dnZXIvbG9nZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElMb2dETkFQYXJhbXMgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgd2luc3RvbiBmcm9tICd3aW5zdG9uJztcbmltcG9ydCB7IGNyZWF0ZUxvZ0ROQUNsaWVudCB9IGZyb20gJy4vbG9nZG5hQ2xpZW50JztcbmltcG9ydCB7IExvZ0ROQVRyYW5zcG9ydCB9IGZyb20gJy4uL3RyYW5zcG9ydHMvbG9nZG5hV2luc3Rvbic7XG5pbXBvcnQgeyBpc0xvZ0ROQUVuYWJsZWQgfSBmcm9tICcuLi91dGlsJztcbmNvbnN0IHsgZm9ybWF0LCB0cmFuc3BvcnRzIH0gPSB3aW5zdG9uO1xuXG5jb25zdCBjcmVhdGVXaW5zdG9uTG9nZ2VyID0gKGxvZ0xldmVsOiBzdHJpbmcpOiB3aW5zdG9uLkxvZ2dlciA9PiB7XG4gIGNvbnN0IGxvZ2dlciA9IHdpbnN0b24uY3JlYXRlTG9nZ2VyKHtcbiAgICBsZXZlbDogbG9nTGV2ZWwgfHwgJ2luZm8nLFxuICAgIGZvcm1hdDogZm9ybWF0LmNvbWJpbmUoXG4gICAgICBmb3JtYXQudGltZXN0YW1wKCksXG4gICAgICBmb3JtYXQuc2ltcGxlKCksXG4gICAgICBmb3JtYXQucHJpbnRmKChpbmZvOiBhbnkpID0+IGAke2luZm8udGltZXN0YW1wfSAtICR7aW5mby5sZXZlbH06ICR7aW5mby5tZXNzYWdlfWApXG4gICAgKSxcbiAgICB0cmFuc3BvcnRzOiBbXG4gICAgICBuZXcgdHJhbnNwb3J0cy5Db25zb2xlKHtcbiAgICAgICAgZm9ybWF0OiBmb3JtYXQuY29tYmluZShcbiAgICAgICAgICBmb3JtYXQudGltZXN0YW1wKCksXG4gICAgICAgICAgZm9ybWF0LnNpbXBsZSgpLFxuICAgICAgICAgIGZvcm1hdC5wcmludGYoKGluZm86IGFueSkgPT4gYCR7aW5mby50aW1lc3RhbXB9IC0gJHtpbmZvLmxldmVsfTogJHtpbmZvLm1lc3NhZ2V9YCksXG4gICAgICAgICAgZm9ybWF0LmNvbG9yaXplKHsgYWxsOiB0cnVlIH0pXG4gICAgICAgICksXG4gICAgICB9KSxcbiAgICBdLFxuICB9KTtcbiAgcmV0dXJuIGxvZ2dlcjtcbn07XG5cbi8qKlxuICogQ3JlYXRlIGEgV2luc3RvbiBsb2dnZXIgb2JqZWN0IHNvIHRoYXQgd2UgY2FuIGdldCBhIGZldyBiZW5lZml0c1xuICogMS4gV2UgY2FuIHVzZSB0aGUgc2FtZSBsb2dnZXIgdG8gb3V0cHV0IGxvZ3MgdG8gY29uc29sZS4gSWYgd2UgdXNlIGxvZ2dlciBmcm9tIEBsb2dkbmEvbG9nZ2VyLCBpdCB3b24ndCBzaG93IHVwIGxvY2FsbHlcbiAqIDIuIFdlIGNhbiBhbHNvIGZvcm1hdCB0aGUgY29sb3VyIG9mIHRoZSBsb2cgbGluZXMgc28gdGhhdCBpdCdzIGVhc2llciB0byByZWFkIGluIHRoZSBsb2NhbCBkb2NrZXIgY29udGFpbmVyXG4gKiAzLiBXZSBjYW4gdXNlIHRoZSBzYW1lIGxvZ2dlciBvYmplY3QgYW5kIHNlbmQgbG9ncyB0byBsb2dETkEgdXNpbmcgdHJhbnNwb3J0cyBtZWNoYW5pc21cbiAqXG4gKiBAcGFyYW0gcGFyYW1zXG4gKiBAcmV0dXJuc1xuICovXG5jb25zdCBzZXR1cFdpbnN0b25Mb2dnZXIgPSAocGFyYW1zOiBJTG9nRE5BUGFyYW1zKTogd2luc3Rvbi5Mb2dnZXIgPT4ge1xuICBjb25zdCB7IEFXU19MQU1CREFfRlVOQ1RJT05fTkFNRSB9ID0gcHJvY2Vzcy5lbnY7XG5cbiAgY29uc3QgeyBsb2dMZXZlbCwgbG9nRE5BT3B0aW9ucywgbG9nRE5BS2V5LCBzZW5kVG9SZW1vdGUgfSA9IHBhcmFtcztcbiAgY29uc3QgaXNFbmFibGVkID0gaXNMb2dETkFFbmFibGVkKGxvZ0ROQUtleSwgc2VuZFRvUmVtb3RlKTtcbiAgY29uc3QgbG9nZ2VyID0gY3JlYXRlV2luc3RvbkxvZ2dlcihsb2dMZXZlbCk7XG5cbiAgaWYgKGlzRW5hYmxlZCkge1xuICAgIGNvbnN0IGxvZ2RuYUNsaWVudCA9IGNyZWF0ZUxvZ0ROQUNsaWVudChwYXJhbXMpO1xuICAgIGxvZ2dlci5hZGQobmV3IExvZ0ROQVRyYW5zcG9ydChsb2dETkFPcHRpb25zLCBsb2dkbmFDbGllbnQpKTtcbiAgfSBlbHNlIGlmIChBV1NfTEFNQkRBX0ZVTkNUSU9OX05BTUUgIT09IHVuZGVmaW5lZCkge1xuICAgIGxvZ2dlci5kZWJ1ZyhgTE9HRE5BIGlzIGRpc2FibGVkYCk7XG4gIH1cblxuICByZXR1cm4gbG9nZ2VyO1xufTtcblxuZXhwb3J0IHsgc2V0dXBXaW5zdG9uTG9nZ2VyIH07XG4iXSwibmFtZXMiOlsic2V0dXBXaW5zdG9uTG9nZ2VyIiwiZm9ybWF0Iiwid2luc3RvbiIsInRyYW5zcG9ydHMiLCJjcmVhdGVXaW5zdG9uTG9nZ2VyIiwibG9nTGV2ZWwiLCJsb2dnZXIiLCJjcmVhdGVMb2dnZXIiLCJsZXZlbCIsImNvbWJpbmUiLCJ0aW1lc3RhbXAiLCJzaW1wbGUiLCJwcmludGYiLCJpbmZvIiwibWVzc2FnZSIsIkNvbnNvbGUiLCJjb2xvcml6ZSIsImFsbCIsInBhcmFtcyIsIkFXU19MQU1CREFfRlVOQ1RJT05fTkFNRSIsInByb2Nlc3MiLCJlbnYiLCJsb2dETkFPcHRpb25zIiwibG9nRE5BS2V5Iiwic2VuZFRvUmVtb3RlIiwiaXNFbmFibGVkIiwiaXNMb2dETkFFbmFibGVkIiwibG9nZG5hQ2xpZW50IiwiY3JlYXRlTG9nRE5BQ2xpZW50IiwiYWRkIiwiTG9nRE5BVHJhbnNwb3J0IiwidW5kZWZpbmVkIiwiZGVidWciXSwibWFwcGluZ3MiOiI7Ozs7K0JBdURTQTs7O2VBQUFBOzs7OERBdERXOzRCQUNlOzZCQUNIO29CQUNBOzs7Ozs7QUFDaEMsSUFBUUMsU0FBdUJDLGdCQUFPLENBQTlCRCxRQUFRRSxhQUFlRCxnQkFBTyxDQUF0QkM7QUFFaEIsSUFBTUMsc0JBQXNCLFNBQUNDO0lBQzNCLElBQU1DLFNBQVNKLGdCQUFPLENBQUNLLFlBQVksQ0FBQztRQUNsQ0MsT0FBT0gsWUFBWTtRQUNuQkosUUFBUUEsT0FBT1EsT0FBTyxDQUNwQlIsT0FBT1MsU0FBUyxJQUNoQlQsT0FBT1UsTUFBTSxJQUNiVixPQUFPVyxNQUFNLENBQUMsU0FBQ0M7bUJBQWMsQUFBQyxHQUFzQkEsT0FBcEJBLEtBQUtILFNBQVMsRUFBQyxPQUFvQkcsT0FBZkEsS0FBS0wsS0FBSyxFQUFDLE1BQWlCLE9BQWJLLEtBQUtDLE9BQU87O1FBRWpGWCxZQUFZO1lBQ1YsSUFBSUEsV0FBV1ksT0FBTyxDQUFDO2dCQUNyQmQsUUFBUUEsT0FBT1EsT0FBTyxDQUNwQlIsT0FBT1MsU0FBUyxJQUNoQlQsT0FBT1UsTUFBTSxJQUNiVixPQUFPVyxNQUFNLENBQUMsU0FBQ0M7MkJBQWMsQUFBQyxHQUFzQkEsT0FBcEJBLEtBQUtILFNBQVMsRUFBQyxPQUFvQkcsT0FBZkEsS0FBS0wsS0FBSyxFQUFDLE1BQWlCLE9BQWJLLEtBQUtDLE9BQU87b0JBQy9FYixPQUFPZSxRQUFRLENBQUM7b0JBQUVDLEtBQUs7Z0JBQUs7WUFFaEM7U0FDRDtJQUNIO0lBQ0EsT0FBT1g7QUFDVDtBQUVBOzs7Ozs7OztDQVFDLEdBQ0QsSUFBTU4scUJBQXFCLFNBQUNrQjtJQUMxQixJQUFNLEFBQUVDLDJCQUE2QkMsUUFBUUMsR0FBRyxDQUF4Q0Y7SUFFUixJQUFRZCxXQUFxRGEsT0FBckRiLFVBQVVpQixnQkFBMkNKLE9BQTNDSSxlQUFlQyxZQUE0QkwsT0FBNUJLLFdBQVdDLGVBQWlCTixPQUFqQk07SUFDNUMsSUFBTUMsWUFBWUMsSUFBQUEscUJBQWUsRUFBQ0gsV0FBV0M7SUFDN0MsSUFBTWxCLFNBQVNGLG9CQUFvQkM7SUFFbkMsSUFBSW9CLFdBQVc7UUFDYixJQUFNRSxlQUFlQyxJQUFBQSxnQ0FBa0IsRUFBQ1Y7UUFDeENaLE9BQU91QixHQUFHLENBQUMsSUFBSUMsOEJBQWUsQ0FBQ1IsZUFBZUs7SUFDaEQsT0FBTyxJQUFJUiw2QkFBNkJZLFdBQVc7UUFDakR6QixPQUFPMEIsS0FBSyxDQUFFO0lBQ2hCO0lBRUEsT0FBTzFCO0FBQ1QifQ==
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "getLoggerObject", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return getLoggerObject;
9
+ }
10
+ });
11
+ var _index = require("./index");
12
+ var toString = function(args) {
13
+ return args.map(function(arg) {
14
+ return JSON.stringify(arg);
15
+ }).join(' ');
16
+ };
17
+ var getPrefix = function(prefix) {
18
+ return prefix && "".concat(prefix, ": ") || '';
19
+ };
20
+ /**
21
+ * A utility command to return a logger with a prefix on log line.
22
+ * @param prefix string
23
+ */ var getLoggerObject = function() {
24
+ var prefix = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : '';
25
+ var debug = function() {
26
+ for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
27
+ args[_key] = arguments[_key];
28
+ }
29
+ return _index.logger.debug("".concat(getPrefix(prefix)).concat(toString(args)));
30
+ };
31
+ var info = function() {
32
+ for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
33
+ args[_key] = arguments[_key];
34
+ }
35
+ return _index.logger.info("".concat(getPrefix(prefix)).concat(toString(args)));
36
+ };
37
+ var warn = function() {
38
+ for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
39
+ args[_key] = arguments[_key];
40
+ }
41
+ return _index.logger.warn("".concat(getPrefix(prefix)).concat(toString(args)));
42
+ };
43
+ var error = function() {
44
+ for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
45
+ args[_key] = arguments[_key];
46
+ }
47
+ return _index.logger.error("".concat(getPrefix(prefix)).concat(toString(args)));
48
+ };
49
+ return {
50
+ debug: debug,
51
+ info: info,
52
+ warn: warn,
53
+ error: error
54
+ };
55
+ };
56
+
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sb2dnZXIvdXRpbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBsb2dnZXIgfSBmcm9tICcuL2luZGV4JztcblxuY29uc3QgdG9TdHJpbmcgPSAoYXJnczogdW5rbm93bltdKSA9PiB7XG4gIHJldHVybiBhcmdzLm1hcChhcmcgPT4gSlNPTi5zdHJpbmdpZnkoYXJnKSkuam9pbignICcpO1xufTtcblxuY29uc3QgZ2V0UHJlZml4ID0gKHByZWZpeDogc3RyaW5nKSA9PiAocHJlZml4ICYmIGAke3ByZWZpeH06IGApIHx8ICcnO1xuXG4vKipcbiAqIEEgdXRpbGl0eSBjb21tYW5kIHRvIHJldHVybiBhIGxvZ2dlciB3aXRoIGEgcHJlZml4IG9uIGxvZyBsaW5lLlxuICogQHBhcmFtIHByZWZpeCBzdHJpbmdcbiAqL1xuY29uc3QgZ2V0TG9nZ2VyT2JqZWN0ID0gKHByZWZpeCA9ICcnKSA9PiB7XG4gIGNvbnN0IGRlYnVnID0gKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gbG9nZ2VyLmRlYnVnKGAke2dldFByZWZpeChwcmVmaXgpfSR7dG9TdHJpbmcoYXJncyl9YCk7XG4gIGNvbnN0IGluZm8gPSAoLi4uYXJnczogdW5rbm93bltdKSA9PiBsb2dnZXIuaW5mbyhgJHtnZXRQcmVmaXgocHJlZml4KX0ke3RvU3RyaW5nKGFyZ3MpfWApO1xuICBjb25zdCB3YXJuID0gKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gbG9nZ2VyLndhcm4oYCR7Z2V0UHJlZml4KHByZWZpeCl9JHt0b1N0cmluZyhhcmdzKX1gKTtcbiAgY29uc3QgZXJyb3IgPSAoLi4uYXJnczogdW5rbm93bltdKSA9PiBsb2dnZXIuZXJyb3IoYCR7Z2V0UHJlZml4KHByZWZpeCl9JHt0b1N0cmluZyhhcmdzKX1gKTtcbiAgcmV0dXJuIHsgZGVidWcsIGluZm8sIHdhcm4sIGVycm9yIH07XG59O1xuXG5leHBvcnQgeyBnZXRMb2dnZXJPYmplY3QgfTtcbiJdLCJuYW1lcyI6WyJnZXRMb2dnZXJPYmplY3QiLCJ0b1N0cmluZyIsImFyZ3MiLCJtYXAiLCJhcmciLCJKU09OIiwic3RyaW5naWZ5Iiwiam9pbiIsImdldFByZWZpeCIsInByZWZpeCIsImRlYnVnIiwibG9nZ2VyIiwiaW5mbyIsIndhcm4iLCJlcnJvciJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFvQlNBOzs7ZUFBQUE7OztxQkFwQmM7QUFFdkIsSUFBTUMsV0FBVyxTQUFDQztJQUNoQixPQUFPQSxLQUFLQyxHQUFHLENBQUNDLFNBQUFBO2VBQU9DLEtBQUtDLFNBQVMsQ0FBQ0Y7T0FBTUcsSUFBSSxDQUFDO0FBQ25EO0FBRUEsSUFBTUMsWUFBWSxTQUFDQztXQUFtQixBQUFDQSxVQUFVLEFBQUMsR0FBUyxPQUFQQSxRQUFPLFNBQVE7O0FBRW5FOzs7Q0FHQyxHQUNELElBQU1ULGtCQUFrQjtRQUFDUywwRUFBUztJQUNoQyxJQUFNQyxRQUFRO3lDQUFJUjtZQUFBQTs7ZUFBb0JTLGFBQU0sQ0FBQ0QsS0FBSyxDQUFDLEFBQUMsR0FBc0JULE9BQXBCTyxVQUFVQyxTQUF5QixPQUFmUixTQUFTQzs7SUFDbkYsSUFBTVUsT0FBTzt5Q0FBSVY7WUFBQUE7O2VBQW9CUyxhQUFNLENBQUNDLElBQUksQ0FBQyxBQUFDLEdBQXNCWCxPQUFwQk8sVUFBVUMsU0FBeUIsT0FBZlIsU0FBU0M7O0lBQ2pGLElBQU1XLE9BQU87eUNBQUlYO1lBQUFBOztlQUFvQlMsYUFBTSxDQUFDRSxJQUFJLENBQUMsQUFBQyxHQUFzQlosT0FBcEJPLFVBQVVDLFNBQXlCLE9BQWZSLFNBQVNDOztJQUNqRixJQUFNWSxRQUFRO3lDQUFJWjtZQUFBQTs7ZUFBb0JTLGFBQU0sQ0FBQ0csS0FBSyxDQUFDLEFBQUMsR0FBc0JiLE9BQXBCTyxVQUFVQyxTQUF5QixPQUFmUixTQUFTQzs7SUFDbkYsT0FBTztRQUFFUSxPQUFBQTtRQUFPRSxNQUFBQTtRQUFNQyxNQUFBQTtRQUFNQyxPQUFBQTtJQUFNO0FBQ3BDIn0=
@@ -0,0 +1,66 @@
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
+ getLogParams: function() {
13
+ return getLogParams;
14
+ },
15
+ sendToRemote: function() {
16
+ return sendToRemote;
17
+ }
18
+ });
19
+ var getEnvs = function() {
20
+ var env = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : function() {
21
+ var _process;
22
+ return ((_process = process) === null || _process === void 0 ? void 0 : _process.env) || {};
23
+ }();
24
+ var _env_LOG_LEVEL = env.LOG_LEVEL, LOG_LEVEL = _env_LOG_LEVEL === void 0 ? 'info' : _env_LOG_LEVEL, _env_LOGDNA_KEY = env.LOGDNA_KEY, LOGDNA_KEY = _env_LOGDNA_KEY === void 0 ? '' : _env_LOGDNA_KEY, _env_STAGE = env.STAGE, STAGE = _env_STAGE === void 0 ? 'n/a' : _env_STAGE, _env_AWS_LAMBDA_FUNCTION_NAME = env.AWS_LAMBDA_FUNCTION_NAME, AWS_LAMBDA_FUNCTION_NAME = _env_AWS_LAMBDA_FUNCTION_NAME === void 0 ? 'n/a' : _env_AWS_LAMBDA_FUNCTION_NAME, _env_LOGDNA_ENABLED = env.LOGDNA_ENABLED, LOGDNA_ENABLED = _env_LOGDNA_ENABLED === void 0 ? 'true' : _env_LOGDNA_ENABLED, _env_LOGDNA_SUPPRESS_FLUSH_ALL = env.LOGDNA_SUPPRESS_FLUSH_ALL, LOGDNA_SUPPRESS_FLUSH_ALL = _env_LOGDNA_SUPPRESS_FLUSH_ALL === void 0 ? 'false' : _env_LOGDNA_SUPPRESS_FLUSH_ALL;
25
+ return {
26
+ LOG_LEVEL: LOG_LEVEL,
27
+ LOGDNA_KEY: LOGDNA_KEY,
28
+ STAGE: STAGE,
29
+ AWS_LAMBDA_FUNCTION_NAME: AWS_LAMBDA_FUNCTION_NAME,
30
+ LOGDNA_ENABLED: LOGDNA_ENABLED,
31
+ LOGDNA_SUPPRESS_FLUSH_ALL: LOGDNA_SUPPRESS_FLUSH_ALL
32
+ };
33
+ };
34
+ var sendToRemote = function(logDNAKey, logDNAEnabled) {
35
+ return !!logDNAKey && logDNAEnabled === 'true';
36
+ };
37
+ var getLogParams = function() {
38
+ var env = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : function() {
39
+ var _process;
40
+ return ((_process = process) === null || _process === void 0 ? void 0 : _process.env) || {};
41
+ }();
42
+ var _getEnvs = getEnvs(env), LOG_LEVEL = _getEnvs.LOG_LEVEL, LOGDNA_KEY = _getEnvs.LOGDNA_KEY, STAGE = _getEnvs.STAGE, AWS_LAMBDA_FUNCTION_NAME = _getEnvs.AWS_LAMBDA_FUNCTION_NAME, LOGDNA_ENABLED = _getEnvs.LOGDNA_ENABLED, LOGDNA_SUPPRESS_FLUSH_ALL = _getEnvs.LOGDNA_SUPPRESS_FLUSH_ALL;
43
+ var logDNAOptions = {
44
+ key: LOGDNA_KEY,
45
+ env: STAGE,
46
+ app: AWS_LAMBDA_FUNCTION_NAME,
47
+ hostname: STAGE,
48
+ indexMeta: true,
49
+ tags: [
50
+ AWS_LAMBDA_FUNCTION_NAME,
51
+ STAGE
52
+ ],
53
+ level: LOG_LEVEL,
54
+ handleExceptions: true
55
+ };
56
+ return {
57
+ logLevel: LOG_LEVEL,
58
+ logDNAKey: LOGDNA_KEY,
59
+ sendToRemote: sendToRemote(LOGDNA_KEY, LOGDNA_ENABLED),
60
+ logDNASuppressFlushAll: LOGDNA_SUPPRESS_FLUSH_ALL === 'true',
61
+ functionName: AWS_LAMBDA_FUNCTION_NAME,
62
+ logDNAOptions: logDNAOptions
63
+ };
64
+ };
65
+
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJhbXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBJTG9nRE5BUGFyYW1zIH0gZnJvbSAnLi90eXBlcyc7XG5cbmNvbnN0IGdldEVudnMgPSAoZW52ID0gcHJvY2Vzcz8uZW52IHx8IHt9KSA9PiB7XG4gIGNvbnN0IHtcbiAgICBMT0dfTEVWRUwgPSAnaW5mbycsXG4gICAgTE9HRE5BX0tFWSA9ICcnLFxuICAgIFNUQUdFID0gJ24vYScsXG4gICAgQVdTX0xBTUJEQV9GVU5DVElPTl9OQU1FID0gJ24vYScsXG4gICAgTE9HRE5BX0VOQUJMRUQgPSAndHJ1ZScsXG4gICAgTE9HRE5BX1NVUFBSRVNTX0ZMVVNIX0FMTCA9ICdmYWxzZScsXG4gIH0gPSBlbnY7XG5cbiAgcmV0dXJuIHtcbiAgICBMT0dfTEVWRUwsXG4gICAgTE9HRE5BX0tFWSxcbiAgICBTVEFHRSxcbiAgICBBV1NfTEFNQkRBX0ZVTkNUSU9OX05BTUUsXG4gICAgTE9HRE5BX0VOQUJMRUQsXG4gICAgTE9HRE5BX1NVUFBSRVNTX0ZMVVNIX0FMTCxcbiAgfTtcbn07XG5cbmNvbnN0IHNlbmRUb1JlbW90ZSA9IChsb2dETkFLZXk6IHN0cmluZywgbG9nRE5BRW5hYmxlZDogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIHJldHVybiAhIWxvZ0ROQUtleSAmJiBsb2dETkFFbmFibGVkID09PSAndHJ1ZSc7XG59O1xuXG5jb25zdCBnZXRMb2dQYXJhbXMgPSAoZW52ID0gcHJvY2Vzcz8uZW52IHx8IHt9KTogSUxvZ0ROQVBhcmFtcyA9PiB7XG4gIGNvbnN0IHsgTE9HX0xFVkVMLCBMT0dETkFfS0VZLCBTVEFHRSwgQVdTX0xBTUJEQV9GVU5DVElPTl9OQU1FLCBMT0dETkFfRU5BQkxFRCwgTE9HRE5BX1NVUFBSRVNTX0ZMVVNIX0FMTCB9ID1cbiAgICBnZXRFbnZzKGVudik7XG5cbiAgY29uc3QgbG9nRE5BT3B0aW9ucyA9IHtcbiAgICBrZXk6IExPR0ROQV9LRVksXG4gICAgZW52OiBTVEFHRSxcbiAgICBhcHA6IEFXU19MQU1CREFfRlVOQ1RJT05fTkFNRSxcbiAgICBob3N0bmFtZTogU1RBR0UsXG4gICAgaW5kZXhNZXRhOiB0cnVlLFxuICAgIHRhZ3M6IFtBV1NfTEFNQkRBX0ZVTkNUSU9OX05BTUUsIFNUQUdFXSxcbiAgICBsZXZlbDogTE9HX0xFVkVMLFxuICAgIGhhbmRsZUV4Y2VwdGlvbnM6IHRydWUsXG4gIH07XG5cbiAgcmV0dXJuIHtcbiAgICBsb2dMZXZlbDogTE9HX0xFVkVMLFxuICAgIGxvZ0ROQUtleTogTE9HRE5BX0tFWSxcbiAgICBzZW5kVG9SZW1vdGU6IHNlbmRUb1JlbW90ZShMT0dETkFfS0VZLCBMT0dETkFfRU5BQkxFRCksXG4gICAgbG9nRE5BU3VwcHJlc3NGbHVzaEFsbDogTE9HRE5BX1NVUFBSRVNTX0ZMVVNIX0FMTCA9PT0gJ3RydWUnLFxuICAgIGZ1bmN0aW9uTmFtZTogQVdTX0xBTUJEQV9GVU5DVElPTl9OQU1FLFxuICAgIGxvZ0ROQU9wdGlvbnMsXG4gIH07XG59O1xuXG5leHBvcnQgeyBnZXRMb2dQYXJhbXMsIHNlbmRUb1JlbW90ZSB9O1xuIl0sIm5hbWVzIjpbImdldExvZ1BhcmFtcyIsInNlbmRUb1JlbW90ZSIsImdldEVudnMiLCJlbnYiLCJwcm9jZXNzIiwiTE9HX0xFVkVMIiwiTE9HRE5BX0tFWSIsIlNUQUdFIiwiQVdTX0xBTUJEQV9GVU5DVElPTl9OQU1FIiwiTE9HRE5BX0VOQUJMRUQiLCJMT0dETkFfU1VQUFJFU1NfRkxVU0hfQUxMIiwibG9nRE5BS2V5IiwibG9nRE5BRW5hYmxlZCIsImxvZ0ROQU9wdGlvbnMiLCJrZXkiLCJhcHAiLCJob3N0bmFtZSIsImluZGV4TWV0YSIsInRhZ3MiLCJsZXZlbCIsImhhbmRsZUV4Y2VwdGlvbnMiLCJsb2dMZXZlbCIsImxvZ0ROQVN1cHByZXNzRmx1c2hBbGwiLCJmdW5jdGlvbk5hbWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBbURTQSxZQUFZO2VBQVpBOztJQUFjQyxZQUFZO2VBQVpBOzs7QUFqRHZCLElBQU1DLFVBQVU7UUFBQ0M7WUFBTUM7ZUFBQUEsRUFBQUEsV0FBQUEscUJBQUFBLCtCQUFBQSxTQUFTRCxHQUFHLEtBQUksQ0FBQzs7SUFDdEMscUJBT0lBLElBTkZFLFdBQUFBLHdDQUFZLDJDQU1WRixJQUxGRyxZQUFBQSwwQ0FBYSxtQ0FLWEgsSUFKRkksT0FBQUEsZ0NBQVEsb0RBSU5KLElBSEZLLDBCQUFBQSxzRUFBMkIsNkRBR3pCTCxJQUZGTSxnQkFBQUEsa0RBQWlCLCtEQUVmTixJQURGTywyQkFBQUEsd0VBQTRCO0lBRzlCLE9BQU87UUFDTEwsV0FBQUE7UUFDQUMsWUFBQUE7UUFDQUMsT0FBQUE7UUFDQUMsMEJBQUFBO1FBQ0FDLGdCQUFBQTtRQUNBQywyQkFBQUE7SUFDRjtBQUNGO0FBRUEsSUFBTVQsZUFBZSxTQUFDVSxXQUFtQkM7SUFDdkMsT0FBTyxDQUFDLENBQUNELGFBQWFDLGtCQUFrQjtBQUMxQztBQUVBLElBQU1aLGVBQWU7UUFBQ0c7WUFBTUM7ZUFBQUEsRUFBQUEsV0FBQUEscUJBQUFBLCtCQUFBQSxTQUFTRCxHQUFHLEtBQUksQ0FBQzs7SUFDM0MsSUFDRUQsV0FBQUEsUUFBUUMsTUFERkUsWUFDTkgsU0FETUcsV0FBV0MsYUFDakJKLFNBRGlCSSxZQUFZQyxRQUM3QkwsU0FENkJLLE9BQU9DLDJCQUNwQ04sU0FEb0NNLDBCQUEwQkMsaUJBQzlEUCxTQUQ4RE8sZ0JBQWdCQyw0QkFDOUVSLFNBRDhFUTtJQUdoRixJQUFNRyxnQkFBZ0I7UUFDcEJDLEtBQUtSO1FBQ0xILEtBQUtJO1FBQ0xRLEtBQUtQO1FBQ0xRLFVBQVVUO1FBQ1ZVLFdBQVc7UUFDWEMsTUFBTTtZQUFDVjtZQUEwQkQ7U0FBTTtRQUN2Q1ksT0FBT2Q7UUFDUGUsa0JBQWtCO0lBQ3BCO0lBRUEsT0FBTztRQUNMQyxVQUFVaEI7UUFDVk0sV0FBV0w7UUFDWEwsY0FBY0EsYUFBYUssWUFBWUc7UUFDdkNhLHdCQUF3QlosOEJBQThCO1FBQ3REYSxjQUFjZjtRQUNkSyxlQUFBQTtJQUNGO0FBQ0YifQ==