UNPKG

@metamask/logger

Version:

A lightweight logging package using @metamask/streams

48 lines 1.58 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.makeArrayTransport = exports.makeStreamTransport = exports.consoleTransport = void 0; const stream_ts_1 = require("./stream.cjs"); /** * The console transport for the logger. * * @param entry - The log entry to transport. */ const consoleTransport = (entry) => { const args = [ ...(entry.tags.length > 0 ? [entry.tags] : []), ...(entry.message ? [entry.message] : []), ...(entry.data ?? []), ]; // Ultimately, a console somewhere is an acceptable terminal for logging // eslint-disable-next-line no-console console[entry.level](...args); }; exports.consoleTransport = consoleTransport; /** * The stream transport for the logger. Expects the stream is listening for * log entries. * * @param stream - The stream to write the log entry to. * @returns A transport function that writes to the stream. */ const makeStreamTransport = (stream) => { return (entry) => { stream .write({ method: 'notify', params: ['logger', (0, stream_ts_1.lser)(entry)], jsonrpc: '2.0', }) // This is a last resort, but it's better than nothing // eslint-disable-next-line no-console .catch(console.debug); }; }; exports.makeStreamTransport = makeStreamTransport; const makeArrayTransport = (target) => { return (entry) => { target.push(entry); }; }; exports.makeArrayTransport = makeArrayTransport; //# sourceMappingURL=transports.cjs.map