1
0
Fork 0
metamask-extension/app/scripts/lib/createLoggerMiddleware.js

36 lines
919 B
JavaScript

import log from 'loglevel';
/**
* Returns a middleware that logs RPC activity. Logging is detailed in
* development builds, but more limited in production builds.
*
* @param {{ origin: string }} opts - The middleware options
* @returns {Function}
*/
export default function createLoggerMiddleware(opts) {
return function loggerMiddleware(
/** @type {any} */ req,
/** @type {any} */ res,
/** @type {Function} */ next,
) {
next((/** @type {Function} */ cb) => {
if (res.error) {
log.debug('Error in RPC response:\n', res);
}
if (req.isMetamaskInternal) {
return;
}
if (process.env.METAMASK_DEBUG) {
log.info(`RPC (${opts.origin}):`, req, '->', res);
} else {
log.info(
`RPC (${opts.origin}): ${req.method} -> ${
res.error ? 'error' : 'success'
}`,
);
}
cb();
});
};
}