UNPKG

@reportfy/apm

Version:

Pacote para utilização de apm do reportfy.com.br

84 lines 3.45 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.logs = void 0; var config_1 = require("../config"); var report_1 = require("./report"); var env_1 = require("../env"); var timestamp = env_1.Environment.log; function typeChoice(type) { switch (String(type).toLowerCase()) { case 'info': case 'warn': case 'error': return type; default: return 'info'; } } function typeTag(tag) { if (!tag || Array.isArray(tag) || tag.trim().length === 0) return 'default'; return tag; } function parseMessage(_a, message) { var key = _a.key, environment = _a.environment, accessKey = _a.accessKey, secretKey = _a.secretKey; var config = (0, config_1.getConfigFile)({ key: key, environment: environment, accessKey: accessKey, secretKey: secretKey }); if (config && config.apm) { var valid = (0, config_1.removeJsonParams)(config.apm, message); if (valid !== typeof 'string') return message; return JSON.stringify((0, config_1.removeJsonParams)(config.apm, message)); } return JSON.stringify(message); } function mountedRequest(_a) { var type = _a.type, tag = _a.tag, message = _a.message, key = _a.key, environment = _a.environment, accessKey = _a.accessKey, secretKey = _a.secretKey; var config = (0, config_1.getConfigFile)({ key: key, environment: environment, accessKey: accessKey, secretKey: secretKey }); if (config !== null) (0, report_1.handlerLog)({ key: key, environment: environment, publicRSA: config.publicRSA }, { type: type, tag: tag, accessKey: accessKey, secretKey: secretKey, message: parseMessage({ key: key, environment: environment, accessKey: accessKey, secretKey: secretKey }, message) }); } function validateArgs(argument) { var objLog = { type: 'info', tag: 'default', message: argument.message || argument }; if (argument.type) objLog.type = argument.type; if (argument.tag) objLog.tag = argument.tag; if (argument.message) objLog.message = argument.message; return objLog; } function removeListenArguments(data, log) { if (data.type && data.tag && data.message) return data.message; return log; } function logs(_a) { var key = _a.key, environment = _a.environment, accessKey = _a.accessKey, secretKey = _a.secretKey; var oldConsole = console.log; console.log = function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } if (args && Array.isArray(args) && args.length > 0) { var _a = validateArgs(args[0]), type = _a.type, tag = _a.tag, message = _a.message; if (args.length > 1) { for (var i = 1; i < args.length; i++) { message += ' ' + JSON.stringify(args[i], null, 4); } } var valueArgument = args[0]; if (args.length === 1) args = [removeListenArguments(valueArgument, valueArgument)]; mountedRequest({ accessKey: accessKey, secretKey: secretKey, type: typeChoice(type), tag: typeTag(tag), message: message, key: key, environment: environment }); } Array.prototype.unshift.call(args, timestamp); oldConsole.apply(this, args); }; } exports.logs = logs; //# sourceMappingURL=index.js.map