envio
Version:
A latency and sync speed optimized, developer friendly blockchain data indexer.
104 lines (90 loc) • 2.78 kB
JavaScript
// Generated by ReScript, PLEASE EDIT WITH CARE
;
var Pino = require("pino");
var Utils = require("../Utils.res.js");
var Caml_obj = require("rescript/lib/js/caml_obj.js");
var Belt_Array = require("rescript/lib/js/belt_Array.js");
var Belt_Option = require("rescript/lib/js/belt_Option.js");
var PinoPretty = require("pino-pretty");
var EcsPinoFormat = require("@elastic/ecs-pino-format");
function createPinoMessage(message) {
return message;
}
function createPinoMessageWithError(message, err) {
return {
msg: message,
err: Utils.prettifyExn(err)
};
}
function makeTransportOptions(prim) {
return prim;
}
var Transport = {
makeTransportOptions: makeTransportOptions
};
function createChildParams(prim) {
return prim;
}
function make(prim) {
return EcsPinoFormat(prim);
}
var ECS = {
make: make
};
function makeFormatter(logLevels) {
return PinoPretty.prettyFactory({
customLevels: logLevels,
customColors: "fatal:bgRed,error:red,warn:yellow,info:green,udebug:bgBlue,uinfo:bgGreen,uwarn:bgYellow,uerror:bgRed,debug:blue,trace:gray"
});
}
function makeStreams(userLogLevel, formatter, logFile, defaultFileLogLevel) {
var stream_stream = {
write: (function (v) {
console.log(formatter(v));
})
};
var stream = {
stream: stream_stream,
level: userLogLevel
};
var maybeFileStream = Belt_Option.mapWithDefault(logFile, [], (function (dest) {
return [{
stream: Pino.destination({
dest: dest,
sync: false,
mkdir: true
}),
level: defaultFileLogLevel
}];
}));
return Belt_Array.concat([stream], maybeFileStream);
}
function make$1(userLogLevel, customLevels, logFile, options, defaultFileLogLevel) {
var options$1;
if (options !== undefined) {
var newrecord = Caml_obj.obj_dup(options);
newrecord.customLevels = customLevels;
newrecord.level = userLogLevel;
options$1 = newrecord;
} else {
options$1 = {
level: userLogLevel,
customLevels: customLevels
};
}
var formatter = makeFormatter(customLevels);
var ms = Pino.multistream(makeStreams(userLogLevel, formatter, logFile, defaultFileLogLevel));
return Pino(options$1, ms);
}
var MultiStreamLogger = {
makeFormatter: makeFormatter,
makeStreams: makeStreams,
make: make$1
};
exports.createPinoMessage = createPinoMessage;
exports.createPinoMessageWithError = createPinoMessageWithError;
exports.Transport = Transport;
exports.createChildParams = createChildParams;
exports.ECS = ECS;
exports.MultiStreamLogger = MultiStreamLogger;
/* pino Not a pure module */