advanced-logger
Version:
Advanced logger module extendable with plugins. Works in nodejs and browsers
830 lines (730 loc) • 33.5 kB
JavaScript
/******/ (() => { // webpackBootstrap
/******/ "use strict";
/******/ var __webpack_modules__ = ({
/***/ "./src/AdvancedLogger.ts":
/*!*******************************!*\
!*** ./src/AdvancedLogger.ts ***!
\*******************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ AdvancedLogger)
/* harmony export */ });
/* harmony import */ var _LogStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./LogStore */ "./src/LogStore.ts");
var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
/**
* Uses different strategies to submit logs to log server via Service facade.
*/
class AdvancedLogger {
constructor(configuration) {
this.configuration = configuration;
this.logStore = new _LogStore__WEBPACK_IMPORTED_MODULE_0__["default"]({ transformations: this.configuration.transformations });
this.strategy = this.configuration.strategy;
this.service = this.configuration.service;
// todo Where is it better to subscribe?
this.logStore.eventEmitter.on("add", this.onAdd.bind(this));
this.logStore.eventEmitter.on("clear", this.onClear.bind(this));
this.logStore.eventEmitter.on("error", this.onStoreError.bind(this));
this.strategy.eventEmitter.on("send", this.onSend.bind(this));
this.strategy.eventEmitter.on("error", this.onStrategyError.bind(this));
}
log(log) {
this.logStore.add(log);
}
/**
* Forces strategy to initiate logs sending
*/
sendAllLogs() {
this.strategy.sendAll();
}
destroy() {
this.logStore.destroy();
this.strategy.destroy();
this.service.destroy();
}
onStoreError(error) {
console.error(error);
}
onAdd(info) {
this.strategy.onAdd(info);
}
onClear() {
this.strategy.onClear();
}
onStrategyError(error) {
console.error(error);
}
onSend() {
return __awaiter(this, void 0, void 0, function* () {
if (this.logStore.size() > 0) {
const logs = this.logStore.getAll();
// We need to clear store as soon as we received request to send all logs
this.logStore.clear();
try {
yield this.service.sendAllLogs(logs);
}
catch (error) {
console.error(error);
}
}
});
}
}
/***/ }),
/***/ "./src/LogStore.ts":
/*!*************************!*\
!*** ./src/LogStore.ts ***!
\*************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ LogStore)
/* harmony export */ });
/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! events */ "events");
/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var lodash_throttle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/throttle */ "lodash/throttle");
/* harmony import */ var lodash_throttle__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_throttle__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _util_LogUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./util/LogUtils */ "./src/util/LogUtils.ts");
/* harmony import */ var _enums_TransformationEnum__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./enums/TransformationEnum */ "./src/enums/TransformationEnum.ts");
class LogStore {
constructor(config) {
this.groupLeftIndex = -1;
this.logs = [];
this.eventEmitter = new events__WEBPACK_IMPORTED_MODULE_0__.EventEmitter();
this.config = config;
this.identityMap = new Map();
if (this.config.transformations) {
const groupableConfig = this.config.transformations
.find(value => value.type === _enums_TransformationEnum__WEBPACK_IMPORTED_MODULE_3__.TransformationEnum.RAPID_FIRE_GROUPING);
if (groupableConfig) {
this.groupableConfig = groupableConfig.configuration;
this.throttledOnGroupFinalize = lodash_throttle__WEBPACK_IMPORTED_MODULE_1___default()(this.onGroupFinalize.bind(this), this.groupableConfig.interval, { trailing: true, leading: false });
//todo Maybe, move to add method
this.eventEmitter.on("add", this.throttledOnGroupFinalize);
}
}
}
add(log) {
if (this.groupableConfig) {
const id = _util_LogUtils__WEBPACK_IMPORTED_MODULE_2__["default"].getLogIdByFields(log, this.groupableConfig.groupIdentityFields);
if (!this.identityMap.has(id)) {
this.logs.push(log);
}
this.onAddToGroup(log);
}
else {
this.logs.push(log);
}
this.eventEmitter.emit("add", {
logCount: this.size()
});
}
clear() {
this.logs.length = 0;
this.eventEmitter.emit("clear");
}
getAll() {
if (this.throttledOnGroupFinalize) {
this.throttledOnGroupFinalize.flush();
}
return this.logs.slice();
}
size() {
return this.logs.length;
}
destroy() {
if (this.throttledOnGroupFinalize) {
this.throttledOnGroupFinalize.cancel();
}
this.logs.splice(0);
this.eventEmitter.removeAllListeners();
}
onAddToGroup(log) {
const logId = _util_LogUtils__WEBPACK_IMPORTED_MODULE_2__["default"].getLogIdByFields(log, this.groupableConfig.groupIdentityFields);
if (this.identityMap.has(logId)) {
const savedCounter = this.identityMap.get(logId);
this.identityMap.set(logId, (savedCounter || 0) + 1);
}
else {
this.identityMap.set(logId, 1);
}
}
onGroupFinalize() {
// Apply grouping counters from Map to logs range from left index to the last
const len = this.logs.length;
if (len > 0) {
for (let i = this.groupLeftIndex !== -1 ? this.groupLeftIndex : 0; i < len; i++) {
const log = this.logs[i];
const id = _util_LogUtils__WEBPACK_IMPORTED_MODULE_2__["default"].getLogIdByFields(log, this.groupableConfig.groupIdentityFields);
Object.assign(log, { [this.groupableConfig.groupFieldName]: this.identityMap.has(id) ? this.identityMap.get(id) : 1 });
}
}
this.groupLeftIndex = len > 0 ? len - 1 : -1;
this.identityMap.clear();
}
}
/***/ }),
/***/ "./src/enums/TransformationEnum.ts":
/*!*****************************************!*\
!*** ./src/enums/TransformationEnum.ts ***!
\*****************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ TransformationEnum: () => (/* binding */ TransformationEnum)
/* harmony export */ });
var TransformationEnum;
(function (TransformationEnum) {
TransformationEnum[TransformationEnum["RAPID_FIRE_GROUPING"] = 0] = "RAPID_FIRE_GROUPING";
})(TransformationEnum || (TransformationEnum = {}));
/***/ }),
/***/ "./src/service/BaseRemoteService.ts":
/*!******************************************!*\
!*** ./src/service/BaseRemoteService.ts ***!
\******************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ BaseRemoteService)
/* harmony export */ });
/* harmony import */ var fast_safe_stringify__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! fast-safe-stringify */ "fast-safe-stringify");
/* harmony import */ var fast_safe_stringify__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(fast_safe_stringify__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _util_http__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/http */ "./src/util/http.ts");
/* harmony import */ var _util_LogUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/LogUtils */ "./src/util/LogUtils.ts");
var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
class BaseRemoteService {
constructor(config) {
this.serviceConfig = Object.assign({}, config.serviceConfig);
this.defaultLogConfig = Object.assign({}, config.defaultLogConfig);
// optional serializer override
if (config.serializer) {
this.serializer = config.serializer;
}
}
serializer(log) {
return _util_LogUtils__WEBPACK_IMPORTED_MODULE_2__["default"].tryJSONStringify(log) || fast_safe_stringify__WEBPACK_IMPORTED_MODULE_0___default()(log);
}
sendAllLogs(logs) {
var _a, _b, _c, _d, _e, _f;
return __awaiter(this, void 0, void 0, function* () {
const payload = yield this.preparePayload(logs);
const headers = this.getHeaders();
try {
return yield _util_http__WEBPACK_IMPORTED_MODULE_1__["default"].request(this.serviceConfig, headers, payload);
}
catch (error) {
if (((_b = (_a = this.serviceConfig) === null || _a === void 0 ? void 0 : _a.retryAttempts) !== null && _b !== void 0 ? _b : 0) > 0) {
return _util_http__WEBPACK_IMPORTED_MODULE_1__["default"].delayedRetry((_d = (_c = this.serviceConfig) === null || _c === void 0 ? void 0 : _c.retryAttempts) !== null && _d !== void 0 ? _d : 0, (_f = (_e = this.serviceConfig) === null || _e === void 0 ? void 0 : _e.retryInterval) !== null && _f !== void 0 ? _f : 0, _util_http__WEBPACK_IMPORTED_MODULE_1__["default"].request.bind(this, this.serviceConfig, headers, payload));
}
else {
throw error;
}
}
});
}
preparePayload(logs) {
return __awaiter(this, void 0, void 0, function* () {
const resultList = logs.map(log => this.serializer(Object.assign(Object.assign({}, this.defaultLogConfig), log)));
return resultList.join("\n");
});
}
destroy() {
}
;
/**
* Returns object for headers config
* @example
* {"Content-Type": "text/plain"}
*/
getHeaders() {
return {};
}
}
/***/ }),
/***/ "./src/service/ConsoleService.ts":
/*!***************************************!*\
!*** ./src/service/ConsoleService.ts ***!
\***************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ ConsoleService)
/* harmony export */ });
var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
/**
* Console reporting service for debugging purposes
*/
class ConsoleService {
preparePayload(logs) {
return __awaiter(this, void 0, void 0, function* () {
return logs.map(log => this.serializer(log));
});
}
sendAllLogs(logs) {
return __awaiter(this, void 0, void 0, function* () {
console.log(logs);
});
}
destroy() {
//nothing to do here
}
serializer(log) {
return log;
}
}
/***/ }),
/***/ "./src/service/ElasticsearchService.ts":
/*!*********************************************!*\
!*** ./src/service/ElasticsearchService.ts ***!
\*********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ ElasticsearchService)
/* harmony export */ });
/* harmony import */ var _BaseRemoteService__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BaseRemoteService */ "./src/service/BaseRemoteService.ts");
var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
const DEFAULT_INDEX_FIELD = "Index";
const DEFAULT_INDEX_VALUE = "index";
class ElasticsearchService extends _BaseRemoteService__WEBPACK_IMPORTED_MODULE_0__["default"] {
preparePayload(logs) {
return __awaiter(this, void 0, void 0, function* () {
const resultList = [];
logs.forEach(log => {
const finalLog = Object.assign(Object.assign({}, this.defaultLogConfig), log);
resultList.push(this.serializer(this.getLogMetaConfig(finalLog[this.serviceConfig.logMetaIndexField || DEFAULT_INDEX_FIELD])));
resultList.push(this.serializer(finalLog));
});
return `${resultList.join("\n")}\n`;
});
}
getHeaders() {
return {
"Content-Type": "application/json"
};
}
getLogMetaConfig(index) {
return {
index: {
_index: index || DEFAULT_INDEX_VALUE,
_type: "_doc"
}
};
}
}
/***/ }),
/***/ "./src/service/LogglyService.ts":
/*!**************************************!*\
!*** ./src/service/LogglyService.ts ***!
\**************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ LogglyService)
/* harmony export */ });
/* harmony import */ var _BaseRemoteService__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BaseRemoteService */ "./src/service/BaseRemoteService.ts");
class LogglyService extends _BaseRemoteService__WEBPACK_IMPORTED_MODULE_0__["default"] {
getHeaders() {
return {
"Content-Type": "text/plain"
};
}
}
/***/ }),
/***/ "./src/service/SumologicService.ts":
/*!*****************************************!*\
!*** ./src/service/SumologicService.ts ***!
\*****************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ SumologicService)
/* harmony export */ });
/* harmony import */ var _BaseRemoteService__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BaseRemoteService */ "./src/service/BaseRemoteService.ts");
class SumologicService extends _BaseRemoteService__WEBPACK_IMPORTED_MODULE_0__["default"] {
getHeaders() {
const serviceConfig = this.serviceConfig;
return {
"Content-Type": "application/json",
//todo Optional?
"X-Sumo-Category": serviceConfig.sourceCategory,
//todo Optional?
"X-Sumo-Host": serviceConfig.host,
//todo Optional?
"X-Sumo-Name": serviceConfig.sourceName
};
}
}
/***/ }),
/***/ "./src/strategy/InstantStrategy.ts":
/*!*****************************************!*\
!*** ./src/strategy/InstantStrategy.ts ***!
\*****************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ InstantStrategy)
/* harmony export */ });
/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! events */ "events");
/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_0__);
class InstantStrategy {
constructor() {
this.eventEmitter = new events__WEBPACK_IMPORTED_MODULE_0__.EventEmitter();
}
onAdd(info) {
this.eventEmitter.emit("send");
//console.log("InstantStrategy#sent");
}
onClear() {
// Ignore log list change
//console.log("InstantStrategy#cleared");
}
sendAll() {
// This strategy sends all logs separately
}
destroy() {
this.eventEmitter.removeAllListeners();
}
}
/***/ }),
/***/ "./src/strategy/OnBundleSizeStrategy.ts":
/*!**********************************************!*\
!*** ./src/strategy/OnBundleSizeStrategy.ts ***!
\**********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ OnBundleSizeStrategy)
/* harmony export */ });
/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! events */ "events");
/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_0__);
class OnBundleSizeStrategy {
constructor(config) {
/**
* @type {number}
*/
this.MAX_BUNDLE_SIZE = 100;
this.eventEmitter = new events__WEBPACK_IMPORTED_MODULE_0__.EventEmitter();
if (config.maxBundle) {
this.MAX_BUNDLE_SIZE = config.maxBundle;
}
}
onAdd(info) {
if (info && info.logCount >= this.MAX_BUNDLE_SIZE) {
this.eventEmitter.emit("send");
}
else {
//console.log("Not enough logs so far");
}
}
onClear() {
// Ignore log list change
//console.log("OnBundleSizeStrategy#cleared");
}
sendAll() {
this.eventEmitter.emit("send");
}
destroy() {
this.eventEmitter.removeAllListeners();
}
}
/***/ }),
/***/ "./src/strategy/OnIntervalStrategy.ts":
/*!********************************************!*\
!*** ./src/strategy/OnIntervalStrategy.ts ***!
\********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ OnIntervalStrategy)
/* harmony export */ });
/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! events */ "events");
/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var lodash_throttle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/throttle */ "lodash/throttle");
/* harmony import */ var lodash_throttle__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_throttle__WEBPACK_IMPORTED_MODULE_1__);
class OnIntervalStrategy {
constructor(config) {
this.SEND_INTERVAL = 15000;
this.eventEmitter = new events__WEBPACK_IMPORTED_MODULE_0__.EventEmitter();
if (config.interval) {
this.SEND_INTERVAL = config.interval;
}
this.intervalSend = lodash_throttle__WEBPACK_IMPORTED_MODULE_1___default()(this.send.bind(this), this.SEND_INTERVAL, { leading: false, trailing: true });
}
onAdd(info) {
if (info && info.logCount > 0) {
this.intervalSend();
}
}
onClear() {
// Ignore log list change
//console.log("OnIntervalStrategy#cleared");
}
sendAll() {
this.eventEmitter.emit("send");
}
destroy() {
this.eventEmitter.removeAllListeners();
}
send() {
this.eventEmitter.emit("send");
}
}
/***/ }),
/***/ "./src/strategy/OnRequestStrategy.ts":
/*!*******************************************!*\
!*** ./src/strategy/OnRequestStrategy.ts ***!
\*******************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ OnRequestStrategy)
/* harmony export */ });
/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! events */ "events");
/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_0__);
class OnRequestStrategy {
constructor() {
this.eventEmitter = new events__WEBPACK_IMPORTED_MODULE_0__.EventEmitter();
}
onAdd(info) {
// Ignore log list change
}
onClear() {
// Ignore log list change
//console.log("OnRequestStrategy#cleared");
}
sendAll() {
this.eventEmitter.emit("send");
}
destroy() {
this.eventEmitter.removeAllListeners();
}
}
/***/ }),
/***/ "./src/util/LogUtils.ts":
/*!******************************!*\
!*** ./src/util/LogUtils.ts ***!
\******************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
const DELIMETER = "-";
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
getLogIdByFields(log, fields) {
return fields.map(field => `${field}${DELIMETER}${log[field]}`).join(DELIMETER);
},
/**
* It is necessary to convert objects safely, otherwise we can lost the whole log bundle
*/
tryJSONStringify(obj) {
try {
return JSON.stringify(obj);
}
catch (_) {
//ignore the error
return "";
}
}
});
/***/ }),
/***/ "./src/util/http.ts":
/*!**************************!*\
!*** ./src/util/http.ts ***!
\**************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! axios */ "axios");
/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(axios__WEBPACK_IMPORTED_MODULE_0__);
const http = {
request(serviceConfig, headers, payload) {
return axios__WEBPACK_IMPORTED_MODULE_0___default().request({
method: serviceConfig.method,
headers,
url: serviceConfig.url,
data: payload
});
},
delayedRetry(retries, delay, fn) {
return new Promise((resolve, reject) => {
setTimeout(() => fn().then(resolve).catch(reject), delay);
})
.catch(error => retries > 1 ? http.delayedRetry(retries - 1, delay, fn) : Promise.reject(error));
}
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (http);
/***/ }),
/***/ "events":
/*!*************************!*\
!*** external "events" ***!
\*************************/
/***/ ((module) => {
module.exports = require("events");
/***/ }),
/***/ "fast-safe-stringify":
/*!**************************************!*\
!*** external "fast-safe-stringify" ***!
\**************************************/
/***/ ((module) => {
module.exports = require("fast-safe-stringify");
/***/ }),
/***/ "lodash/throttle":
/*!**********************************!*\
!*** external "lodash/throttle" ***!
\**********************************/
/***/ ((module) => {
module.exports = require("lodash/throttle");
/***/ }),
/***/ "axios":
/*!************************!*\
!*** external "axios" ***!
\************************/
/***/ ((module) => {
module.exports = require("axios");
/***/ })
/******/ });
/************************************************************************/
/******/ // The module cache
/******/ var __webpack_module_cache__ = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ var cachedModule = __webpack_module_cache__[moduleId];
/******/ if (cachedModule !== undefined) {
/******/ return cachedModule.exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = {
/******/ // no module.id needed
/******/ // no module.loaded needed
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/************************************************************************/
/******/ /* webpack/runtime/compat get default export */
/******/ (() => {
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = (module) => {
/******/ var getter = module && module.__esModule ?
/******/ () => (module['default']) :
/******/ () => (module);
/******/ __webpack_require__.d(getter, { a: getter });
/******/ return getter;
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/define property getters */
/******/ (() => {
/******/ // define getter functions for harmony exports
/******/ __webpack_require__.d = (exports, definition) => {
/******/ for(var key in definition) {
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ }
/******/ }
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ (() => {
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
/******/ })();
/******/
/******/ /* webpack/runtime/make namespace object */
/******/ (() => {
/******/ // define __esModule on exports
/******/ __webpack_require__.r = (exports) => {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/ })();
/******/
/************************************************************************/
var __webpack_exports__ = {};
// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
(() => {
/*!**********************!*\
!*** ./src/index.ts ***!
\**********************/
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ AdvancedLogger: () => (/* reexport safe */ _AdvancedLogger__WEBPACK_IMPORTED_MODULE_0__["default"]),
/* harmony export */ TransformationEnum: () => (/* reexport safe */ _enums_TransformationEnum__WEBPACK_IMPORTED_MODULE_1__.TransformationEnum),
/* harmony export */ service: () => (/* binding */ service),
/* harmony export */ strategy: () => (/* binding */ strategy)
/* harmony export */ });
/* harmony import */ var _AdvancedLogger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AdvancedLogger */ "./src/AdvancedLogger.ts");
/* harmony import */ var _enums_TransformationEnum__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./enums/TransformationEnum */ "./src/enums/TransformationEnum.ts");
/* harmony import */ var _service_BaseRemoteService__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./service/BaseRemoteService */ "./src/service/BaseRemoteService.ts");
/* harmony import */ var _service_ConsoleService__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./service/ConsoleService */ "./src/service/ConsoleService.ts");
/* harmony import */ var _service_ElasticsearchService__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./service/ElasticsearchService */ "./src/service/ElasticsearchService.ts");
/* harmony import */ var _service_LogglyService__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./service/LogglyService */ "./src/service/LogglyService.ts");
/* harmony import */ var _service_SumologicService__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./service/SumologicService */ "./src/service/SumologicService.ts");
/* harmony import */ var _strategy_InstantStrategy__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./strategy/InstantStrategy */ "./src/strategy/InstantStrategy.ts");
/* harmony import */ var _strategy_OnBundleSizeStrategy__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./strategy/OnBundleSizeStrategy */ "./src/strategy/OnBundleSizeStrategy.ts");
/* harmony import */ var _strategy_OnIntervalStrategy__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./strategy/OnIntervalStrategy */ "./src/strategy/OnIntervalStrategy.ts");
/* harmony import */ var _strategy_OnRequestStrategy__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./strategy/OnRequestStrategy */ "./src/strategy/OnRequestStrategy.ts");
const strategy = {
InstantStrategy: _strategy_InstantStrategy__WEBPACK_IMPORTED_MODULE_7__["default"],
OnBundleSizeStrategy: _strategy_OnBundleSizeStrategy__WEBPACK_IMPORTED_MODULE_8__["default"],
OnRequestStrategy: _strategy_OnRequestStrategy__WEBPACK_IMPORTED_MODULE_10__["default"],
OnIntervalStrategy: _strategy_OnIntervalStrategy__WEBPACK_IMPORTED_MODULE_9__["default"]
};
const service = {
BaseRemoteService: _service_BaseRemoteService__WEBPACK_IMPORTED_MODULE_2__["default"],
SumologicService: _service_SumologicService__WEBPACK_IMPORTED_MODULE_6__["default"],
LogglyService: _service_LogglyService__WEBPACK_IMPORTED_MODULE_5__["default"],
ConsoleService: _service_ConsoleService__WEBPACK_IMPORTED_MODULE_3__["default"],
ElasticsearchService: _service_ElasticsearchService__WEBPACK_IMPORTED_MODULE_4__["default"]
};
})();
module.exports.advancedLogger = __webpack_exports__;
/******/ })()
;
//# sourceMappingURL=advanced-logger.node.js.map