@beforeyoubid/logger-adapter 2.0.0 → 2.0.1
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/dist/__tests__/params.spec.js +84 -0
- package/dist/console/__tests__/consoleLogger.spec.js +18 -0
- package/dist/console/__tests__/index.spec.js +70 -0
- package/dist/console/index.js +44 -0
- package/dist/console/logWrapper.js +99 -0
- package/dist/{src/consts.js → consts.js} +1 -1
- package/dist/index.js +40 -0
- package/dist/logger/__tests__/index.spec.js +24 -0
- package/dist/logger/__tests__/logdnaClient.spec.js +90 -0
- package/dist/logger/__tests__/logger.spec.js +139 -0
- package/dist/logger/__tests__/util.spec.js +81 -0
- package/dist/logger/index.js +17 -0
- package/dist/logger/logdnaClient.js +47 -0
- package/dist/logger/logger.js +61 -0
- package/dist/logger/util.js +57 -0
- package/dist/params.js +60 -0
- package/dist/transports/logdnaWinston.js +248 -0
- package/dist/{src/util.js → util.js} +25 -25
- package/package.json +5 -5
- package/dist/src/__tests__/params.spec.js +0 -84
- package/dist/src/console/__tests__/consoleLogger.spec.js +0 -18
- package/dist/src/console/index.js +0 -44
- package/dist/src/console/logWrapper.js +0 -99
- package/dist/src/index.js +0 -40
- package/dist/src/logger/__tests__/index.spec.js +0 -24
- package/dist/src/logger/__tests__/logger.spec.js +0 -139
- package/dist/src/logger/__tests__/util.spec.js +0 -81
- package/dist/src/logger/index.js +0 -17
- package/dist/src/logger/logdnaClient.js +0 -47
- package/dist/src/logger/logger.js +0 -61
- package/dist/src/logger/util.js +0 -57
- package/dist/src/params.js +0 -66
- package/dist/src/transports/logdnaWinston.js +0 -267
- /package/dist/{src/types.js → types.js} +0 -0
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
var _winston = /*#__PURE__*/ _interopRequireDefault(require("winston"));
|
|
6
|
+
var _logger = require("../../../src/logger/logger");
|
|
7
|
+
function _defineProperty(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 _interopRequireDefault(obj) {
|
|
21
|
+
return obj && obj.__esModule ? obj : {
|
|
22
|
+
default: obj
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
function _objectSpread(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
|
+
_defineProperty(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 _objectSpreadProps(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 _objectSpreadProps(_objectSpread({}, 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sb2dnZXIvX190ZXN0c19fL2xvZ2dlci5zcGVjLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB3aW5zdG9uIGZyb20gJ3dpbnN0b24nO1xuXG5pbXBvcnQgeyBzZXR1cFdpbnN0b25Mb2dnZXIgfSBmcm9tICcuLi8uLi8uLi9zcmMvbG9nZ2VyL2xvZ2dlcic7XG5cbnR5cGUgSUxvZ0ROQVBhcmFtcyA9IFBhcmFtZXRlcnM8dHlwZW9mIHNldHVwV2luc3RvbkxvZ2dlcj5bMF07XG5cbmplc3QubW9jaygnd2luc3RvbicsICgpID0+ICh7XG4gIC4uLmplc3QucmVxdWlyZUFjdHVhbCgnd2luc3RvbicpLFxuICBjcmVhdGVMb2dnZXI6IGplc3QuZm4oKSxcbn0pKTtcblxuZGVzY3JpYmUoJ3NldHVwV2luc3RvbkxvZ2dlcicsICgpID0+IHtcbiAgbGV0IGRlYnVnTW9jazogamVzdC5Nb2NrO1xuICBsZXQgYWRkTW9jazogamVzdC5Nb2NrO1xuICBiZWZvcmVBbGwoKCkgPT4ge1xuICAgIGRlYnVnTW9jayA9IGplc3QuZm4oKTtcbiAgICBhZGRNb2NrID0gamVzdC5mbigpO1xuICAgICh3aW5zdG9uLmNyZWF0ZUxvZ2dlciBhcyBqZXN0Lk1vY2spLm1vY2tSZXR1cm5WYWx1ZSh7XG4gICAgICBhZGQ6IGFkZE1vY2ssXG4gICAgICBkZWJ1ZzogZGVidWdNb2NrLFxuICAgIH0pO1xuICB9KTtcbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgZGVidWdNb2NrLm1vY2tDbGVhcigpO1xuICAgIGFkZE1vY2subW9ja0NsZWFyKCk7XG4gIH0pO1xuICBpdCgnc2hvdWxkIHJldHVybiBsb2dnZXInLCAoKSA9PiB7XG4gICAgY29uc3QgbG9nZ2VyID0gc2V0dXBXaW5zdG9uTG9nZ2VyKHt9IGFzIElMb2dETkFQYXJhbXMpO1xuICAgIGV4cGVjdChsb2dnZXIpLnRvRXF1YWwoe1xuICAgICAgYWRkOiBhZGRNb2NrLFxuICAgICAgZGVidWc6IGRlYnVnTW9jayxcbiAgICB9KTtcbiAgfSk7XG4gIGRlc2NyaWJlKCdsb2dkbmEgdHJhbnNwb3J0JywgKCkgPT4ge1xuICAgIGRlc2NyaWJlKCd3aGVuIGtleXMgcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgICBpdCgnc2hvdWxkIGFkZCB0aGUgdHJhbnNwb3J0JywgKCkgPT4ge1xuICAgICAgICBzZXR1cFdpbnN0b25Mb2dnZXIoe1xuICAgICAgICAgIGxvZ0ROQU9wdGlvbnM6IHtcbiAgICAgICAgICAgIGtleTogTWF0aC5yYW5kb20oKS50b1N0cmluZygpLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgbG9nRE5BS2V5OiBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKCksXG4gICAgICAgICAgc2VuZFRvUmVtb3RlOiB0cnVlLFxuICAgICAgICB9IGFzIElMb2dETkFQYXJhbXMpO1xuICAgICAgICBleHBlY3QoYWRkTW9jaykudG9IYXZlQmVlbkNhbGxlZCgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgZGVzY3JpYmUoJ3doZW4ga2V5cyBub3QgcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgICBpdCgnc2hvdWxkbnQgYWRkIHRoZSB0cmFuc3BvcnQnLCAoKSA9PiB7XG4gICAgICAgIHNldHVwV2luc3RvbkxvZ2dlcih7XG4gICAgICAgICAgbG9nRE5BT3B0aW9uczoge30sXG4gICAgICAgIH0gYXMgSUxvZ0ROQVBhcmFtcyk7XG4gICAgICAgIGV4cGVjdChhZGRNb2NrKS5ub3QudG9IYXZlQmVlbkNhbGxlZCgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xuICBkZXNjcmliZSgnZGVidWcgc3RhdGVtZW50JywgKCkgPT4ge1xuICAgIGRlc2NyaWJlKCd3aGVuIGxhbWJkYSBmdW5jdGlvbiBuYW1lIGluIGVudiB2YXJpYWJsZXMnLCAoKSA9PiB7XG4gICAgICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICAgICAgcHJvY2Vzcy5lbnYuQVdTX0xBTUJEQV9GVU5DVElPTl9OQU1FID0gTWF0aC5yYW5kb20oKS50b1N0cmluZygpO1xuICAgICAgfSk7XG4gICAgICBpdCgnc2hvdWxkIHByaW50IGRpc2FibGVkIG1zZycsICgpID0+IHtcbiAgICAgICAgc2V0dXBXaW5zdG9uTG9nZ2VyKHtcbiAgICAgICAgICBsb2dETkFPcHRpb25zOiB7fSxcbiAgICAgICAgfSBhcyBJTG9nRE5BUGFyYW1zKTtcbiAgICAgICAgZXhwZWN0KGRlYnVnTW9jaykudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ0xPR0ROQSBpcyBkaXNhYmxlZCcpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgZGVzY3JpYmUoJ3doZW4gbGFtYmRhIGZ1bmN0aW9uIG5hbWUgbm90IGluIGVudiB2YXJpYWJsZXMnLCAoKSA9PiB7XG4gICAgICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICAgICAgZGVsZXRlIHByb2Nlc3MuZW52LkFXU19MQU1CREFfRlVOQ1RJT05fTkFNRTtcbiAgICAgIH0pO1xuICAgICAgaXQoJ3Nob3VsZCBub3QgcHJpbnQgZGlzYWJsZWQgbXNnJywgKCkgPT4ge1xuICAgICAgICBzZXR1cFdpbnN0b25Mb2dnZXIoe1xuICAgICAgICAgIGxvZ0ROQU9wdGlvbnM6IHt9LFxuICAgICAgICB9IGFzIElMb2dETkFQYXJhbXMpO1xuICAgICAgICBleHBlY3QoZGVidWdNb2NrKS5ub3QudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ0xPR0ROQSBpcyBkaXNhYmxlZCcpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwibmFtZXMiOlsiamVzdCIsIm1vY2siLCJyZXF1aXJlQWN0dWFsIiwiY3JlYXRlTG9nZ2VyIiwiZm4iLCJkZXNjcmliZSIsImRlYnVnTW9jayIsImFkZE1vY2siLCJiZWZvcmVBbGwiLCJ3aW5zdG9uIiwibW9ja1JldHVyblZhbHVlIiwiYWRkIiwiZGVidWciLCJiZWZvcmVFYWNoIiwibW9ja0NsZWFyIiwiaXQiLCJsb2dnZXIiLCJzZXR1cFdpbnN0b25Mb2dnZXIiLCJleHBlY3QiLCJ0b0VxdWFsIiwibG9nRE5BT3B0aW9ucyIsImtleSIsIk1hdGgiLCJyYW5kb20iLCJ0b1N0cmluZyIsImxvZ0ROQUtleSIsInNlbmRUb1JlbW90ZSIsInRvSGF2ZUJlZW5DYWxsZWQiLCJub3QiLCJwcm9jZXNzIiwiZW52IiwiQVdTX0xBTUJEQV9GVU5DVElPTl9OQU1FIiwidG9IYXZlQmVlbkNhbGxlZFdpdGgiXSwibWFwcGluZ3MiOiI7Ozs7NERBQW9CO3NCQUVlOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSW5DQSxLQUFLQyxJQUFJLENBQUMsV0FBVztXQUFPLHFDQUN2QkQsS0FBS0UsYUFBYSxDQUFDO1FBQ3RCQyxjQUFjSCxLQUFLSSxFQUFFOzs7QUFHdkJDLFNBQVMsc0JBQXNCLFdBQU07SUFDbkMsSUFBSUM7SUFDSixJQUFJQztJQUNKQyxVQUFVLFdBQU07UUFDZEYsWUFBWU4sS0FBS0ksRUFBRTtRQUNuQkcsVUFBVVAsS0FBS0ksRUFBRTtRQUNoQkssZ0JBQU8sQ0FBQ04sWUFBWSxDQUFlTyxlQUFlLENBQUM7WUFDbERDLEtBQUtKO1lBQ0xLLE9BQU9OO1FBQ1Q7SUFDRjtJQUNBTyxXQUFXLFdBQU07UUFDZlAsVUFBVVEsU0FBUztRQUNuQlAsUUFBUU8sU0FBUztJQUNuQjtJQUNBQyxHQUFHLHdCQUF3QixXQUFNO1FBQy9CLElBQU1DLFNBQVNDLElBQUFBLDBCQUFrQixFQUFDLENBQUM7UUFDbkNDLE9BQU9GLFFBQVFHLE9BQU8sQ0FBQztZQUNyQlIsS0FBS0o7WUFDTEssT0FBT047UUFDVDtJQUNGO0lBQ0FELFNBQVMsb0JBQW9CLFdBQU07UUFDakNBLFNBQVMsc0JBQXNCLFdBQU07WUFDbkNVLEdBQUcsNEJBQTRCLFdBQU07Z0JBQ25DRSxJQUFBQSwwQkFBa0IsRUFBQztvQkFDakJHLGVBQWU7d0JBQ2JDLEtBQUtDLEtBQUtDLE1BQU0sR0FBR0MsUUFBUTtvQkFDN0I7b0JBQ0FDLFdBQVdILEtBQUtDLE1BQU0sR0FBR0MsUUFBUTtvQkFDakNFLGNBQWMsSUFBSTtnQkFDcEI7Z0JBQ0FSLE9BQU9YLFNBQVNvQixnQkFBZ0I7WUFDbEM7UUFDRjtRQUNBdEIsU0FBUywwQkFBMEIsV0FBTTtZQUN2Q1UsR0FBRyw4QkFBOEIsV0FBTTtnQkFDckNFLElBQUFBLDBCQUFrQixFQUFDO29CQUNqQkcsZUFBZSxDQUFDO2dCQUNsQjtnQkFDQUYsT0FBT1gsU0FBU3FCLEdBQUcsQ0FBQ0QsZ0JBQWdCO1lBQ3RDO1FBQ0Y7SUFDRjtJQUNBdEIsU0FBUyxtQkFBbUIsV0FBTTtRQUNoQ0EsU0FBUyw4Q0FBOEMsV0FBTTtZQUMzRFEsV0FBVyxXQUFNO2dCQUNmZ0IsUUFBUUMsR0FBRyxDQUFDQyx3QkFBd0IsR0FBR1QsS0FBS0MsTUFBTSxHQUFHQyxRQUFRO1lBQy9EO1lBQ0FULEdBQUcsNkJBQTZCLFdBQU07Z0JBQ3BDRSxJQUFBQSwwQkFBa0IsRUFBQztvQkFDakJHLGVBQWUsQ0FBQztnQkFDbEI7Z0JBQ0FGLE9BQU9aLFdBQVcwQixvQkFBb0IsQ0FBQztZQUN6QztRQUNGO1FBQ0EzQixTQUFTLGtEQUFrRCxXQUFNO1lBQy9EUSxXQUFXLFdBQU07Z0JBQ2YsT0FBT2dCLFFBQVFDLEdBQUcsQ0FBQ0Msd0JBQXdCO1lBQzdDO1lBQ0FoQixHQUFHLGlDQUFpQyxXQUFNO2dCQUN4Q0UsSUFBQUEsMEJBQWtCLEVBQUM7b0JBQ2pCRyxlQUFlLENBQUM7Z0JBQ2xCO2dCQUNBRixPQUFPWixXQUFXc0IsR0FBRyxDQUFDSSxvQkFBb0IsQ0FBQztZQUM3QztRQUNGO0lBQ0Y7QUFDRiJ9
|
|
@@ -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 _defineProperty(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 _objectSpread(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
|
+
_defineProperty(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 _objectSpreadProps(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 _objectSpreadProps(_objectSpread({}, 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sb2dnZXIvX190ZXN0c19fL3V0aWwuc3BlYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJqZXN0Lm1vY2soJy4uLy4uL3V0aWwnLCAoKSA9PiAoe1xuICAuLi5qZXN0LnJlcXVpcmVBY3R1YWwoJy4uLy4uL3V0aWwnKSxcbiAgaXNMb2dETkFFbmFibGVkOiAoKSA9PiBmYWxzZSxcbn0pKTtcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4uL2luZGV4JztcbmltcG9ydCB7IGdldExvZ2dlck9iamVjdCB9IGZyb20gJy4uL3V0aWwnO1xuXG5kZXNjcmliZSgnZ2V0TG9nZ2VyT2JqZWN0JywgKCkgPT4ge1xuICBpdCgnc2hvdWxkIHByZWZpeCBteSBsb2cgb2JqZWN0JywgKCkgPT4ge1xuICAgIGNvbnN0IHNweSA9IGplc3Quc3B5T24obG9nZ2VyLCAnZGVidWcnKTtcbiAgICBjb25zdCB0ZXN0TG9nZ2VyT2JqZWN0ID0gZ2V0TG9nZ2VyT2JqZWN0KCdbTVktUFJFRklYXScpO1xuICAgIHRlc3RMb2dnZXJPYmplY3QuZGVidWcoJ215IGxvZyBtZXNzYWdlJyk7XG4gICAgZXhwZWN0KHNweSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ1tNWS1QUkVGSVhdOiBcIm15IGxvZyBtZXNzYWdlXCInKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBub3QgcHJlZml4IG15IGxvZyBvYmplY3QgaWYgSSBsZWF2ZSBpdCBlbXB0eScsICgpID0+IHtcbiAgICBjb25zdCBzcHkgPSBqZXN0LnNweU9uKGxvZ2dlciwgJ2RlYnVnJyk7XG4gICAgY29uc3QgdGVzdExvZ2dlck9iamVjdCA9IGdldExvZ2dlck9iamVjdCgpO1xuICAgIHRlc3RMb2dnZXJPYmplY3QuZGVidWcoJ215IGxvZyBtZXNzYWdlJyk7XG4gICAgZXhwZWN0KHNweSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ1wibXkgbG9nIG1lc3NhZ2VcIicpO1xuICB9KTtcbn0pO1xuIl0sIm5hbWVzIjpbImplc3QiLCJtb2NrIiwicmVxdWlyZUFjdHVhbCIsImlzTG9nRE5BRW5hYmxlZCIsImRlc2NyaWJlIiwiaXQiLCJzcHkiLCJzcHlPbiIsImxvZ2dlciIsInRlc3RMb2dnZXJPYmplY3QiLCJnZXRMb2dnZXJPYmplY3QiLCJkZWJ1ZyIsImV4cGVjdCIsInRvSGF2ZUJlZW5DYWxsZWRXaXRoIl0sIm1hcHBpbmdzIjoiOzs7O3FCQUl1QjtvQkFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFMaENBLEtBQUtDLElBQUksQ0FBQyxjQUFjO1dBQU8scUNBQzFCRCxLQUFLRSxhQUFhLENBQUM7UUFDdEJDLGlCQUFpQjttQkFBTSxLQUFLOzs7O0FBSzlCQyxTQUFTLG1CQUFtQixXQUFNO0lBQ2hDQyxHQUFHLCtCQUErQixXQUFNO1FBQ3RDLElBQU1DLE1BQU1OLEtBQUtPLEtBQUssQ0FBQ0MsYUFBTSxFQUFFO1FBQy9CLElBQU1DLG1CQUFtQkMsSUFBQUEscUJBQWUsRUFBQztRQUN6Q0QsaUJBQWlCRSxLQUFLLENBQUM7UUFDdkJDLE9BQU9OLEtBQUtPLG9CQUFvQixDQUFDO0lBQ25DO0lBRUFSLEdBQUcsdURBQXVELFdBQU07UUFDOUQsSUFBTUMsTUFBTU4sS0FBS08sS0FBSyxDQUFDQyxhQUFNLEVBQUU7UUFDL0IsSUFBTUMsbUJBQW1CQyxJQUFBQSxxQkFBZTtRQUN4Q0QsaUJBQWlCRSxLQUFLLENBQUM7UUFDdkJDLE9BQU9OLEtBQUtPLG9CQUFvQixDQUFDO0lBQ25DO0FBQ0YifQ==
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2dnZXIvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0TG9nUGFyYW1zIH0gZnJvbSAnLi4vcGFyYW1zJztcbmltcG9ydCB7IHNldHVwV2luc3RvbkxvZ2dlciB9IGZyb20gJy4vbG9nZ2VyJztcblxuY29uc3QgbG9nUGFyYW1zID0gZ2V0TG9nUGFyYW1zKCk7XG5cbi8vIENyZWF0ZSBhIHNpbmdsZXRvbiBsb2dnZXIgb2JqZWN0IGR1cmluZyBtb2R1bGUgaW5pdGlhbGlzYXRpb25cbmNvbnN0IGxvZ2dlciA9IHNldHVwV2luc3RvbkxvZ2dlcihsb2dQYXJhbXMpO1xuXG5leHBvcnQgeyBsb2dnZXIgfTtcbiJdLCJuYW1lcyI6WyJsb2dnZXIiLCJsb2dQYXJhbXMiLCJnZXRMb2dQYXJhbXMiLCJzZXR1cFdpbnN0b25Mb2dnZXIiXSwibWFwcGluZ3MiOiI7Ozs7K0JBUVNBOzs7ZUFBQUE7OztzQkFSb0I7c0JBQ007QUFFbkMsSUFBTUMsWUFBWUMsSUFBQUEsb0JBQVk7QUFFOUIsZ0VBQWdFO0FBQ2hFLElBQU1GLFNBQVNHLElBQUFBLDBCQUFrQixFQUFDRiJ9
|
|
@@ -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__*/ _interopRequireDefault(require("@logdna/logger"));
|
|
20
|
+
function _interopRequireDefault(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 new LogDNA 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2dnZXIvbG9nZG5hQ2xpZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2dETkFMb2dnZXIsIHsgdHlwZSBDb25zdHJ1Y3Rvck9wdGlvbnMgfSBmcm9tICdAbG9nZG5hL2xvZ2dlcic7XG5pbXBvcnQgeyB0eXBlIElMb2dETkFQYXJhbXMgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8vIEEgc2luZ2xldG9uIG9iamVjdCBpbiB0aGlzIG1vZHVsZVxubGV0IGxvZ2RuYUNsaWVudDogTG9nRE5BTG9nZ2VyLkxvZ2dlcjtcblxuLyoqXG4gKiBDcmVhdGUgb25lIHNpbmdsZSBpbnN0YW5jZSBvZiBMb2dETkEgKE1lem1vKSBjbGllbnQgc28gaXQgY2FuIGJlIHNoYXJlZC91c2VkIGluIHR3byBjYXNlc1xuICogMSkgVXNlIGl0IHdpdGggdGhlIGNvbnNvbGUgd3JhcHBlci4gV2Ugc2VuZCBhbnl0aGluZyBmcm9tIGNvbnNvbGUubG9nKCksIGNvbnNvbGUuaW5mbygpLCBjb25zb2xlLmVycm9yKClcbiAqICAgIHRvIExvZ0ROQSBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS4gQ29uc3VtZXIgY2FuIHVzZSB0aGlzIGJ5IGNhbGxpbmcgY29uc29sZUxvZ2dlci5pbml0KClcbiAqIDIpIFVzZSBpdCB3aXRoIGEgV2luc3RvbiBsb2dnZXIgYXMgcGFydCBvZiB0aGUgdHJhbnNwb3J0cyB0byBzZW5kIGxvZ3MgdG8gTG9nRE5BXG4gKlxuICogQmVmb3JlIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiwgbWFrZSBzdXJlIHdlIGNoZWNrIGlmIExvZ0ROQSBpcyBlbmFibGVkIGJlZm9yZSBjcmVhdGluZyBpdFxuICpcbiAqIEBwYXJhbSBwYXJhbXNcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBjb25zdCBjcmVhdGVMb2dETkFDbGllbnQgPSAocGFyYW1zOiBJTG9nRE5BUGFyYW1zKTogTG9nRE5BTG9nZ2VyLkxvZ2dlciA9PiB7XG4gIGlmIChsb2dkbmFDbGllbnQpIHJldHVybiBsb2dkbmFDbGllbnQ7XG5cbiAgY29uc3QgeyBsb2dETkFLZXksIGxvZ0ROQU9wdGlvbnMgfSA9IHBhcmFtcztcbiAgY29uc3QgeyBlbnYsIGFwcCwgdGFncywgbGV2ZWwgfSA9IGxvZ0ROQU9wdGlvbnM7XG4gIGNvbnN0IG9wdGlvbnM6IENvbnN0cnVjdG9yT3B0aW9ucyA9IHtcbiAgICBlbnYsXG4gICAgYXBwLFxuICAgIGhvc3RuYW1lOiBlbnYsXG4gICAgaW5kZXhNZXRhOiB0cnVlLFxuICAgIHRhZ3MsXG4gICAgbGV2ZWwsXG4gIH07XG5cbiAgLy8gQ3JlYXRlIGEgbmV3IExvZ0ROQSBjbGllbnRcbiAgbG9nZG5hQ2xpZW50ID0gTG9nRE5BTG9nZ2VyLmNyZWF0ZUxvZ2dlcihsb2dETkFLZXksIG9wdGlvbnMpO1xuICByZXR1cm4gbG9nZG5hQ2xpZW50O1xufTtcblxuLyoqXG4gKiBSZXR1cm4gdGhlIHNpbmdsZXRvbiBpbnN0YW5jZSBvZiBMb2dETkEgY2xpZW50IGNyZWF0ZWQgYnkgY3JlYXRlTG9nRE5BQ2xpZW50KClcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRMb2dETkFDbGllbnQgPSAoKTogTG9nRE5BTG9nZ2VyLkxvZ2dlciA9PiB7XG4gIHJldHVybiBsb2dkbmFDbGllbnQ7XG59O1xuIl0sIm5hbWVzIjpbImNyZWF0ZUxvZ0ROQUNsaWVudCIsImdldExvZ0ROQUNsaWVudCIsImxvZ2RuYUNsaWVudCIsInBhcmFtcyIsImxvZ0ROQUtleSIsImxvZ0ROQU9wdGlvbnMiLCJlbnYiLCJhcHAiLCJ0YWdzIiwibGV2ZWwiLCJvcHRpb25zIiwiaG9zdG5hbWUiLCJpbmRleE1ldGEiLCJMb2dETkFMb2dnZXIiLCJjcmVhdGVMb2dnZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBaUJhQSxrQkFBa0I7ZUFBbEJBOztJQXVCQUMsZUFBZTtlQUFmQTs7OzJEQXhDeUM7Ozs7OztBQUd0RCxvQ0FBb0M7QUFDcEMsSUFBSUM7QUFhRyxJQUFNRixxQkFBcUIsU0FBQ0csUUFBK0M7SUFDaEYsSUFBSUQsY0FBYyxPQUFPQTtJQUV6QixJQUFRRSxZQUE2QkQsT0FBN0JDLFdBQVdDLGdCQUFrQkYsT0FBbEJFO0lBQ25CLElBQVFDLE1BQTBCRCxjQUExQkMsS0FBS0MsTUFBcUJGLGNBQXJCRSxLQUFLQyxPQUFnQkgsY0FBaEJHLE1BQU1DLFFBQVVKLGNBQVZJO0lBQ3hCLElBQU1DLFVBQThCO1FBQ2xDSixLQUFBQTtRQUNBQyxLQUFBQTtRQUNBSSxVQUFVTDtRQUNWTSxXQUFXLElBQUk7UUFDZkosTUFBQUE7UUFDQUMsT0FBQUE7SUFDRjtJQUVBLDZCQUE2QjtJQUM3QlAsZUFBZVcsZUFBWSxDQUFDQyxZQUFZLENBQUNWLFdBQVdNO0lBQ3BELE9BQU9SO0FBQ1Q7QUFNTyxJQUFNRCxrQkFBa0IsV0FBMkI7SUFDeEQsT0FBT0M7QUFDVCJ9
|
|
@@ -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__*/ _interopRequireDefault(require("winston"));
|
|
12
|
+
var _logdnaClient = require("./logdnaClient");
|
|
13
|
+
var _logdnaWinston = require("../transports/logdnaWinston");
|
|
14
|
+
var _util = require("../util");
|
|
15
|
+
function _interopRequireDefault(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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2dnZXIvbG9nZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElMb2dETkFQYXJhbXMgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgd2luc3RvbiBmcm9tICd3aW5zdG9uJztcbmltcG9ydCB7IGNyZWF0ZUxvZ0ROQUNsaWVudCB9IGZyb20gJy4vbG9nZG5hQ2xpZW50JztcbmltcG9ydCB7IExvZ0ROQVRyYW5zcG9ydCB9IGZyb20gJy4uL3RyYW5zcG9ydHMvbG9nZG5hV2luc3Rvbic7XG5pbXBvcnQgeyBpc0xvZ0ROQUVuYWJsZWQgfSBmcm9tICcuLi91dGlsJztcbmNvbnN0IHsgZm9ybWF0LCB0cmFuc3BvcnRzIH0gPSB3aW5zdG9uO1xuXG5jb25zdCBjcmVhdGVXaW5zdG9uTG9nZ2VyID0gKGxvZ0xldmVsOiBzdHJpbmcpOiB3aW5zdG9uLkxvZ2dlciA9PiB7XG4gIGNvbnN0IGxvZ2dlciA9IHdpbnN0b24uY3JlYXRlTG9nZ2VyKHtcbiAgICBsZXZlbDogbG9nTGV2ZWwgfHwgJ2luZm8nLFxuICAgIGZvcm1hdDogZm9ybWF0LmNvbWJpbmUoXG4gICAgICBmb3JtYXQudGltZXN0YW1wKCksXG4gICAgICBmb3JtYXQuc2ltcGxlKCksXG4gICAgICBmb3JtYXQucHJpbnRmKChpbmZvOiBhbnkpID0+IGAke2luZm8udGltZXN0YW1wfSAtICR7aW5mby5sZXZlbH06ICR7aW5mby5tZXNzYWdlfWApXG4gICAgKSxcbiAgICB0cmFuc3BvcnRzOiBbXG4gICAgICBuZXcgdHJhbnNwb3J0cy5Db25zb2xlKHtcbiAgICAgICAgZm9ybWF0OiBmb3JtYXQuY29tYmluZShcbiAgICAgICAgICBmb3JtYXQudGltZXN0YW1wKCksXG4gICAgICAgICAgZm9ybWF0LnNpbXBsZSgpLFxuICAgICAgICAgIGZvcm1hdC5wcmludGYoKGluZm86IGFueSkgPT4gYCR7aW5mby50aW1lc3RhbXB9IC0gJHtpbmZvLmxldmVsfTogJHtpbmZvLm1lc3NhZ2V9YCksXG4gICAgICAgICAgZm9ybWF0LmNvbG9yaXplKHsgYWxsOiB0cnVlIH0pXG4gICAgICAgICksXG4gICAgICB9KSxcbiAgICBdLFxuICB9KTtcbiAgcmV0dXJuIGxvZ2dlcjtcbn07XG5cbi8qKlxuICogQ3JlYXRlIGEgV2luc3RvbiBsb2dnZXIgb2JqZWN0IHNvIHRoYXQgd2UgY2FuIGdldCBhIGZldyBiZW5lZml0c1xuICogMS4gV2UgY2FuIHVzZSB0aGUgc2FtZSBsb2dnZXIgdG8gb3V0cHV0IGxvZ3MgdG8gY29uc29sZS4gSWYgd2UgdXNlIGxvZ2dlciBmcm9tIEBsb2dkbmEvbG9nZ2VyLCBpdCB3b24ndCBzaG93IHVwIGxvY2FsbHlcbiAqIDIuIFdlIGNhbiBhbHNvIGZvcm1hdCB0aGUgY29sb3VyIG9mIHRoZSBsb2cgbGluZXMgc28gdGhhdCBpdCdzIGVhc2llciB0byByZWFkIGluIHRoZSBsb2NhbCBkb2NrZXIgY29udGFpbmVyXG4gKiAzLiBXZSBjYW4gdXNlIHRoZSBzYW1lIGxvZ2dlciBvYmplY3QgYW5kIHNlbmQgbG9ncyB0byBsb2dETkEgdXNpbmcgdHJhbnNwb3J0cyBtZWNoYW5pc21cbiAqXG4gKiBAcGFyYW0gcGFyYW1zXG4gKiBAcmV0dXJuc1xuICovXG5jb25zdCBzZXR1cFdpbnN0b25Mb2dnZXIgPSAocGFyYW1zOiBJTG9nRE5BUGFyYW1zKTogd2luc3Rvbi5Mb2dnZXIgPT4ge1xuICBjb25zdCB7IEFXU19MQU1CREFfRlVOQ1RJT05fTkFNRSB9ID0gcHJvY2Vzcy5lbnY7XG5cbiAgY29uc3QgeyBsb2dMZXZlbCwgbG9nRE5BT3B0aW9ucywgbG9nRE5BS2V5LCBzZW5kVG9SZW1vdGUgfSA9IHBhcmFtcztcbiAgY29uc3QgaXNFbmFibGVkID0gaXNMb2dETkFFbmFibGVkKGxvZ0ROQUtleSwgc2VuZFRvUmVtb3RlKTtcbiAgY29uc3QgbG9nZ2VyID0gY3JlYXRlV2luc3RvbkxvZ2dlcihsb2dMZXZlbCk7XG5cbiAgaWYgKGlzRW5hYmxlZCkge1xuICAgIGNvbnN0IGxvZ2RuYUNsaWVudCA9IGNyZWF0ZUxvZ0ROQUNsaWVudChwYXJhbXMpO1xuICAgIGxvZ2dlci5hZGQobmV3IExvZ0ROQVRyYW5zcG9ydChsb2dETkFPcHRpb25zLCBsb2dkbmFDbGllbnQpKTtcbiAgfSBlbHNlIGlmIChBV1NfTEFNQkRBX0ZVTkNUSU9OX05BTUUgIT09IHVuZGVmaW5lZCkge1xuICAgIGxvZ2dlci5kZWJ1ZyhgTE9HRE5BIGlzIGRpc2FibGVkYCk7XG4gIH1cblxuICByZXR1cm4gbG9nZ2VyO1xufTtcblxuZXhwb3J0IHsgc2V0dXBXaW5zdG9uTG9nZ2VyIH07XG4iXSwibmFtZXMiOlsic2V0dXBXaW5zdG9uTG9nZ2VyIiwiZm9ybWF0Iiwid2luc3RvbiIsInRyYW5zcG9ydHMiLCJjcmVhdGVXaW5zdG9uTG9nZ2VyIiwibG9nTGV2ZWwiLCJsb2dnZXIiLCJjcmVhdGVMb2dnZXIiLCJsZXZlbCIsImNvbWJpbmUiLCJ0aW1lc3RhbXAiLCJzaW1wbGUiLCJwcmludGYiLCJpbmZvIiwibWVzc2FnZSIsIkNvbnNvbGUiLCJjb2xvcml6ZSIsImFsbCIsInBhcmFtcyIsIkFXU19MQU1CREFfRlVOQ1RJT05fTkFNRSIsInByb2Nlc3MiLCJlbnYiLCJsb2dETkFPcHRpb25zIiwibG9nRE5BS2V5Iiwic2VuZFRvUmVtb3RlIiwiaXNFbmFibGVkIiwiaXNMb2dETkFFbmFibGVkIiwibG9nZG5hQ2xpZW50IiwiY3JlYXRlTG9nRE5BQ2xpZW50IiwiYWRkIiwiTG9nRE5BVHJhbnNwb3J0IiwidW5kZWZpbmVkIiwiZGVidWciXSwibWFwcGluZ3MiOiI7Ozs7K0JBdURTQTs7O2VBQUFBOzs7NERBdERXOzRCQUNlOzZCQUNIO29CQUNBOzs7Ozs7QUFDaEMsSUFBUUMsU0FBdUJDLGdCQUFPLENBQTlCRCxRQUFRRSxhQUFlRCxnQkFBTyxDQUF0QkM7QUFFaEIsSUFBTUMsc0JBQXNCLFNBQUNDLFVBQXFDO0lBQ2hFLElBQU1DLFNBQVNKLGdCQUFPLENBQUNLLFlBQVksQ0FBQztRQUNsQ0MsT0FBT0gsWUFBWTtRQUNuQkosUUFBUUEsT0FBT1EsT0FBTyxDQUNwQlIsT0FBT1MsU0FBUyxJQUNoQlQsT0FBT1UsTUFBTSxJQUNiVixPQUFPVyxNQUFNLENBQUMsU0FBQ0M7bUJBQWMsQUFBQyxHQUFzQkEsT0FBcEJBLEtBQUtILFNBQVMsRUFBQyxPQUFvQkcsT0FBZkEsS0FBS0wsS0FBSyxFQUFDLE1BQWlCLE9BQWJLLEtBQUtDLE9BQU87O1FBRWpGWCxZQUFZO1lBQ1YsSUFBSUEsV0FBV1ksT0FBTyxDQUFDO2dCQUNyQmQsUUFBUUEsT0FBT1EsT0FBTyxDQUNwQlIsT0FBT1MsU0FBUyxJQUNoQlQsT0FBT1UsTUFBTSxJQUNiVixPQUFPVyxNQUFNLENBQUMsU0FBQ0M7MkJBQWMsQUFBQyxHQUFzQkEsT0FBcEJBLEtBQUtILFNBQVMsRUFBQyxPQUFvQkcsT0FBZkEsS0FBS0wsS0FBSyxFQUFDLE1BQWlCLE9BQWJLLEtBQUtDLE9BQU87b0JBQy9FYixPQUFPZSxRQUFRLENBQUM7b0JBQUVDLEtBQUssSUFBSTtnQkFBQztZQUVoQztTQUNEO0lBQ0g7SUFDQSxPQUFPWDtBQUNUO0FBRUE7Ozs7Ozs7O0NBUUMsR0FDRCxJQUFNTixxQkFBcUIsU0FBQ2tCLFFBQTBDO0lBQ3BFLElBQU0sQUFBRUMsMkJBQTZCQyxRQUFRQyxHQUFHLENBQXhDRjtJQUVSLElBQVFkLFdBQXFEYSxPQUFyRGIsVUFBVWlCLGdCQUEyQ0osT0FBM0NJLGVBQWVDLFlBQTRCTCxPQUE1QkssV0FBV0MsZUFBaUJOLE9BQWpCTTtJQUM1QyxJQUFNQyxZQUFZQyxJQUFBQSxxQkFBZSxFQUFDSCxXQUFXQztJQUM3QyxJQUFNbEIsU0FBU0Ysb0JBQW9CQztJQUVuQyxJQUFJb0IsV0FBVztRQUNiLElBQU1FLGVBQWVDLElBQUFBLGdDQUFrQixFQUFDVjtRQUN4Q1osT0FBT3VCLEdBQUcsQ0FBQyxJQUFJQyw4QkFBZSxDQUFDUixlQUFlSztJQUNoRCxPQUFPLElBQUlSLDZCQUE2QlksV0FBVztRQUNqRHpCLE9BQU8wQixLQUFLLENBQUU7SUFDaEIsQ0FBQztJQUVELE9BQU8xQjtBQUNUIn0=
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2dnZXIvdXRpbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBsb2dnZXIgfSBmcm9tICcuL2luZGV4JztcblxuY29uc3QgdG9TdHJpbmcgPSAoYXJnczogdW5rbm93bltdKSA9PiB7XG4gIHJldHVybiBhcmdzLm1hcChhcmcgPT4gSlNPTi5zdHJpbmdpZnkoYXJnKSkuam9pbignICcpO1xufTtcblxuY29uc3QgZ2V0UHJlZml4ID0gKHByZWZpeDogc3RyaW5nKSA9PiAocHJlZml4ICYmIGAke3ByZWZpeH06IGApIHx8ICcnO1xuXG4vKipcbiAqIEEgdXRpbGl0eSBjb21tYW5kIHRvIHJldHVybiBhIGxvZ2dlciB3aXRoIGEgcHJlZml4IG9uIGxvZyBsaW5lLlxuICogQHBhcmFtIHByZWZpeCBzdHJpbmdcbiAqL1xuY29uc3QgZ2V0TG9nZ2VyT2JqZWN0ID0gKHByZWZpeCA9ICcnKSA9PiB7XG4gIGNvbnN0IGRlYnVnID0gKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gbG9nZ2VyLmRlYnVnKGAke2dldFByZWZpeChwcmVmaXgpfSR7dG9TdHJpbmcoYXJncyl9YCk7XG4gIGNvbnN0IGluZm8gPSAoLi4uYXJnczogdW5rbm93bltdKSA9PiBsb2dnZXIuaW5mbyhgJHtnZXRQcmVmaXgocHJlZml4KX0ke3RvU3RyaW5nKGFyZ3MpfWApO1xuICBjb25zdCB3YXJuID0gKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gbG9nZ2VyLndhcm4oYCR7Z2V0UHJlZml4KHByZWZpeCl9JHt0b1N0cmluZyhhcmdzKX1gKTtcbiAgY29uc3QgZXJyb3IgPSAoLi4uYXJnczogdW5rbm93bltdKSA9PiBsb2dnZXIuZXJyb3IoYCR7Z2V0UHJlZml4KHByZWZpeCl9JHt0b1N0cmluZyhhcmdzKX1gKTtcbiAgcmV0dXJuIHsgZGVidWcsIGluZm8sIHdhcm4sIGVycm9yIH07XG59O1xuXG5leHBvcnQgeyBnZXRMb2dnZXJPYmplY3QgfTtcbiJdLCJuYW1lcyI6WyJnZXRMb2dnZXJPYmplY3QiLCJ0b1N0cmluZyIsImFyZ3MiLCJtYXAiLCJhcmciLCJKU09OIiwic3RyaW5naWZ5Iiwiam9pbiIsImdldFByZWZpeCIsInByZWZpeCIsImRlYnVnIiwibG9nZ2VyIiwiaW5mbyIsIndhcm4iLCJlcnJvciJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFvQlNBOzs7ZUFBQUE7OztxQkFwQmM7QUFFdkIsSUFBTUMsV0FBVyxTQUFDQyxNQUFvQjtJQUNwQyxPQUFPQSxLQUFLQyxHQUFHLENBQUNDLFNBQUFBO2VBQU9DLEtBQUtDLFNBQVMsQ0FBQ0Y7T0FBTUcsSUFBSSxDQUFDO0FBQ25EO0FBRUEsSUFBTUMsWUFBWSxTQUFDQztXQUFtQixBQUFDQSxVQUFVLEFBQUMsR0FBUyxPQUFQQSxRQUFPLFNBQVE7O0FBRW5FOzs7Q0FHQyxHQUNELElBQU1ULGtCQUFrQixXQUFpQjtRQUFoQlMsMEVBQVM7SUFDaEMsSUFBTUMsUUFBUTt5Q0FBSVI7WUFBQUE7O2VBQW9CUyxhQUFNLENBQUNELEtBQUssQ0FBQyxBQUFDLEdBQXNCVCxPQUFwQk8sVUFBVUMsU0FBeUIsT0FBZlIsU0FBU0M7O0lBQ25GLElBQU1VLE9BQU87eUNBQUlWO1lBQUFBOztlQUFvQlMsYUFBTSxDQUFDQyxJQUFJLENBQUMsQUFBQyxHQUFzQlgsT0FBcEJPLFVBQVVDLFNBQXlCLE9BQWZSLFNBQVNDOztJQUNqRixJQUFNVyxPQUFPO3lDQUFJWDtZQUFBQTs7ZUFBb0JTLGFBQU0sQ0FBQ0UsSUFBSSxDQUFDLEFBQUMsR0FBc0JaLE9BQXBCTyxVQUFVQyxTQUF5QixPQUFmUixTQUFTQzs7SUFDakYsSUFBTVksUUFBUTt5Q0FBSVo7WUFBQUE7O2VBQW9CUyxhQUFNLENBQUNHLEtBQUssQ0FBQyxBQUFDLEdBQXNCYixPQUFwQk8sVUFBVUMsU0FBeUIsT0FBZlIsU0FBU0M7O0lBQ25GLE9BQU87UUFBRVEsT0FBQUE7UUFBT0UsTUFBQUE7UUFBTUMsTUFBQUE7UUFBTUMsT0FBQUE7SUFBTTtBQUNwQyJ9
|
package/dist/params.js
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
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] : (process === null || process === void 0 ? void 0 : process.env) || {};
|
|
21
|
+
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;
|
|
22
|
+
return {
|
|
23
|
+
LOG_LEVEL: LOG_LEVEL,
|
|
24
|
+
LOGDNA_KEY: LOGDNA_KEY,
|
|
25
|
+
STAGE: STAGE,
|
|
26
|
+
AWS_LAMBDA_FUNCTION_NAME: AWS_LAMBDA_FUNCTION_NAME,
|
|
27
|
+
LOGDNA_ENABLED: LOGDNA_ENABLED,
|
|
28
|
+
LOGDNA_SUPPRESS_FLUSH_ALL: LOGDNA_SUPPRESS_FLUSH_ALL
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
var sendToRemote = function(logDNAKey, logDNAEnabled) {
|
|
32
|
+
return !!logDNAKey && logDNAEnabled === "true";
|
|
33
|
+
};
|
|
34
|
+
var getLogParams = function() {
|
|
35
|
+
var env = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : (process === null || process === void 0 ? void 0 : process.env) || {};
|
|
36
|
+
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;
|
|
37
|
+
var logDNAOptions = {
|
|
38
|
+
key: LOGDNA_KEY,
|
|
39
|
+
env: STAGE,
|
|
40
|
+
app: AWS_LAMBDA_FUNCTION_NAME,
|
|
41
|
+
hostname: STAGE,
|
|
42
|
+
indexMeta: true,
|
|
43
|
+
tags: [
|
|
44
|
+
AWS_LAMBDA_FUNCTION_NAME,
|
|
45
|
+
STAGE
|
|
46
|
+
],
|
|
47
|
+
level: LOG_LEVEL,
|
|
48
|
+
handleExceptions: true
|
|
49
|
+
};
|
|
50
|
+
return {
|
|
51
|
+
logLevel: LOG_LEVEL,
|
|
52
|
+
logDNAKey: LOGDNA_KEY,
|
|
53
|
+
sendToRemote: sendToRemote(LOGDNA_KEY, LOGDNA_ENABLED),
|
|
54
|
+
logDNASuppressFlushAll: LOGDNA_SUPPRESS_FLUSH_ALL === "true",
|
|
55
|
+
functionName: AWS_LAMBDA_FUNCTION_NAME,
|
|
56
|
+
logDNAOptions: logDNAOptions
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wYXJhbXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBJTG9nRE5BUGFyYW1zIH0gZnJvbSAnLi90eXBlcyc7XG5cbmNvbnN0IGdldEVudnMgPSAoZW52ID0gcHJvY2Vzcz8uZW52IHx8IHt9KSA9PiB7XG4gIGNvbnN0IHtcbiAgICBMT0dfTEVWRUwgPSAnaW5mbycsXG4gICAgTE9HRE5BX0tFWSA9ICcnLFxuICAgIFNUQUdFID0gJ24vYScsXG4gICAgQVdTX0xBTUJEQV9GVU5DVElPTl9OQU1FID0gJ24vYScsXG4gICAgTE9HRE5BX0VOQUJMRUQgPSAndHJ1ZScsXG4gICAgTE9HRE5BX1NVUFBSRVNTX0ZMVVNIX0FMTCA9ICdmYWxzZScsXG4gIH0gPSBlbnY7XG5cbiAgcmV0dXJuIHtcbiAgICBMT0dfTEVWRUwsXG4gICAgTE9HRE5BX0tFWSxcbiAgICBTVEFHRSxcbiAgICBBV1NfTEFNQkRBX0ZVTkNUSU9OX05BTUUsXG4gICAgTE9HRE5BX0VOQUJMRUQsXG4gICAgTE9HRE5BX1NVUFBSRVNTX0ZMVVNIX0FMTCxcbiAgfTtcbn07XG5cbmNvbnN0IHNlbmRUb1JlbW90ZSA9IChsb2dETkFLZXk6IHN0cmluZywgbG9nRE5BRW5hYmxlZDogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIHJldHVybiAhIWxvZ0ROQUtleSAmJiBsb2dETkFFbmFibGVkID09PSAndHJ1ZSc7XG59O1xuXG5jb25zdCBnZXRMb2dQYXJhbXMgPSAoZW52ID0gcHJvY2Vzcz8uZW52IHx8IHt9KTogSUxvZ0ROQVBhcmFtcyA9PiB7XG4gIGNvbnN0IHsgTE9HX0xFVkVMLCBMT0dETkFfS0VZLCBTVEFHRSwgQVdTX0xBTUJEQV9GVU5DVElPTl9OQU1FLCBMT0dETkFfRU5BQkxFRCwgTE9HRE5BX1NVUFBSRVNTX0ZMVVNIX0FMTCB9ID1cbiAgICBnZXRFbnZzKGVudik7XG5cbiAgY29uc3QgbG9nRE5BT3B0aW9ucyA9IHtcbiAgICBrZXk6IExPR0ROQV9LRVksXG4gICAgZW52OiBTVEFHRSxcbiAgICBhcHA6IEFXU19MQU1CREFfRlVOQ1RJT05fTkFNRSxcbiAgICBob3N0bmFtZTogU1RBR0UsXG4gICAgaW5kZXhNZXRhOiB0cnVlLFxuICAgIHRhZ3M6IFtBV1NfTEFNQkRBX0ZVTkNUSU9OX05BTUUsIFNUQUdFXSxcbiAgICBsZXZlbDogTE9HX0xFVkVMLFxuICAgIGhhbmRsZUV4Y2VwdGlvbnM6IHRydWUsXG4gIH07XG5cbiAgcmV0dXJuIHtcbiAgICBsb2dMZXZlbDogTE9HX0xFVkVMLFxuICAgIGxvZ0ROQUtleTogTE9HRE5BX0tFWSxcbiAgICBzZW5kVG9SZW1vdGU6IHNlbmRUb1JlbW90ZShMT0dETkFfS0VZLCBMT0dETkFfRU5BQkxFRCksXG4gICAgbG9nRE5BU3VwcHJlc3NGbHVzaEFsbDogTE9HRE5BX1NVUFBSRVNTX0ZMVVNIX0FMTCA9PT0gJ3RydWUnLFxuICAgIGZ1bmN0aW9uTmFtZTogQVdTX0xBTUJEQV9GVU5DVElPTl9OQU1FLFxuICAgIGxvZ0ROQU9wdGlvbnMsXG4gIH07XG59O1xuXG5leHBvcnQgeyBnZXRMb2dQYXJhbXMsIHNlbmRUb1JlbW90ZSB9O1xuIl0sIm5hbWVzIjpbImdldExvZ1BhcmFtcyIsInNlbmRUb1JlbW90ZSIsImdldEVudnMiLCJlbnYiLCJwcm9jZXNzIiwiTE9HX0xFVkVMIiwiTE9HRE5BX0tFWSIsIlNUQUdFIiwiQVdTX0xBTUJEQV9GVU5DVElPTl9OQU1FIiwiTE9HRE5BX0VOQUJMRUQiLCJMT0dETkFfU1VQUFJFU1NfRkxVU0hfQUxMIiwibG9nRE5BS2V5IiwibG9nRE5BRW5hYmxlZCIsImxvZ0ROQU9wdGlvbnMiLCJrZXkiLCJhcHAiLCJob3N0bmFtZSIsImluZGV4TWV0YSIsInRhZ3MiLCJsZXZlbCIsImhhbmRsZUV4Y2VwdGlvbnMiLCJsb2dMZXZlbCIsImxvZ0ROQVN1cHByZXNzRmx1c2hBbGwiLCJmdW5jdGlvbk5hbWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBbURTQSxZQUFZO2VBQVpBOztJQUFjQyxZQUFZO2VBQVpBOzs7QUFqRHZCLElBQU1DLFVBQVUsV0FBOEI7UUFBN0JDLHVFQUFNQyxDQUFBQSxvQkFBQUEscUJBQUFBLEtBQUFBLElBQUFBLFFBQVNELEdBQUcsQUFBRCxLQUFLLENBQUM7SUFDdEMscUJBT0lBLElBTkZFLFdBQUFBLHdDQUFZLDJDQU1WRixJQUxGRyxZQUFBQSwwQ0FBYSxtQ0FLWEgsSUFKRkksT0FBQUEsZ0NBQVEsb0RBSU5KLElBSEZLLDBCQUFBQSxzRUFBMkIsNkRBR3pCTCxJQUZGTSxnQkFBQUEsa0RBQWlCLCtEQUVmTixJQURGTywyQkFBQUEsd0VBQTRCO0lBRzlCLE9BQU87UUFDTEwsV0FBQUE7UUFDQUMsWUFBQUE7UUFDQUMsT0FBQUE7UUFDQUMsMEJBQUFBO1FBQ0FDLGdCQUFBQTtRQUNBQywyQkFBQUE7SUFDRjtBQUNGO0FBRUEsSUFBTVQsZUFBZSxTQUFDVSxXQUFtQkMsZUFBbUM7SUFDMUUsT0FBTyxDQUFDLENBQUNELGFBQWFDLGtCQUFrQjtBQUMxQztBQUVBLElBQU1aLGVBQWUsV0FBNkM7UUFBNUNHLHVFQUFNQyxDQUFBQSxvQkFBQUEscUJBQUFBLEtBQUFBLElBQUFBLFFBQVNELEdBQUcsQUFBRCxLQUFLLENBQUM7SUFDM0MsSUFDRUQsV0FBQUEsUUFBUUMsTUFERkUsWUFDTkgsU0FETUcsV0FBV0MsYUFDakJKLFNBRGlCSSxZQUFZQyxRQUM3QkwsU0FENkJLLE9BQU9DLDJCQUNwQ04sU0FEb0NNLDBCQUEwQkMsaUJBQzlEUCxTQUQ4RE8sZ0JBQWdCQyw0QkFDOUVSLFNBRDhFUTtJQUdoRixJQUFNRyxnQkFBZ0I7UUFDcEJDLEtBQUtSO1FBQ0xILEtBQUtJO1FBQ0xRLEtBQUtQO1FBQ0xRLFVBQVVUO1FBQ1ZVLFdBQVcsSUFBSTtRQUNmQyxNQUFNO1lBQUNWO1lBQTBCRDtTQUFNO1FBQ3ZDWSxPQUFPZDtRQUNQZSxrQkFBa0IsSUFBSTtJQUN4QjtJQUVBLE9BQU87UUFDTEMsVUFBVWhCO1FBQ1ZNLFdBQVdMO1FBQ1hMLGNBQWNBLGFBQWFLLFlBQVlHO1FBQ3ZDYSx3QkFBd0JaLDhCQUE4QjtRQUN0RGEsY0FBY2Y7UUFDZEssZUFBQUE7SUFDRjtBQUNGIn0=
|