@metamask/logger
Version:
A lightweight logging package using @metamask/streams
38 lines • 1.02 kB
JavaScript
import { lser } from "./stream.mjs";
/**
* The console transport for the logger.
*
* @param entry - The log entry to transport.
*/
export const consoleTransport = (entry) => {
const args = [
...(entry.tags.length > 0 ? [entry.tags] : []),
...(entry.message ? [entry.message] : []),
...(entry.data ?? []),
];
console[entry.level](...args);
};
/**
* 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.
*/
export const makeStreamTransport = (stream) => {
return (entry) => {
stream
.write({
method: 'notify',
params: ['logger', lser(entry)],
jsonrpc: '2.0',
})
.catch(console.debug);
};
};
export const makeArrayTransport = (target) => {
return (entry) => {
target.push(entry);
};
};
//# sourceMappingURL=transports.mjs.map