@reportfy/apm
Version:
Pacote para utilização de apm do reportfy.com.br
84 lines • 3.45 kB
JavaScript
;
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