UNPKG

envio

Version:

A latency and sync speed optimized, developer friendly blockchain data indexer.

104 lines (90 loc) 2.78 kB
// Generated by ReScript, PLEASE EDIT WITH CARE 'use strict'; 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 */