@rarcifa/cronos-evm-client
Version:
A Node.js client library for interacting with the Cronos EVM, facilitating operations on both CRC20 and CRC721 tokens.
26 lines (25 loc) • 877 B
JavaScript
import { createLogger, format, transports } from 'winston';
/**
* A Winston log format wrapper that modifies log information for error objects.
*
* @param {winston.Logform.TransformableInfo} info - Log information that may contain an error object.
* @returns {winston.Logform.TransformableInfo} The transformed log information.
*
* @example
* const data = enumerateErrorFormat();
*/
export const enumerateErrorFormat = format((info) => {
if (info instanceof Error) {
Object.assign(info, { message: info.stack });
}
return info;
});
export const logger = createLogger({
level: 'info',
format: format.combine(enumerateErrorFormat(), format.colorize(), format.splat(), format.printf(({ level, message }) => `${level}: ${message}`)),
transports: [
new transports.Console({
stderrLevels: ['error'],
}),
],
});