UNPKG

cosmic-interchain-cli

Version:

A command-line utility for Cosmic Wire's interchain messaging protocol

37 lines 2.03 kB
import chalk from 'chalk'; import { LogFormat, LogLevel, configureRootLogger, getLogFormat, rootLogger, safelyAccessEnvVar, } from '@hyperlane-xyz/utils'; let logger = rootLogger; export function configureLogger(logFormat, logLevel) { logFormat = logFormat || safelyAccessEnvVar('LOG_FORMAT', true) || LogFormat.Pretty; logLevel = logLevel || safelyAccessEnvVar('LOG_LEVEL', true) || LogLevel.Info; logger = configureRootLogger(logFormat, logLevel).child({ module: 'cli' }); } export const log = (msg, ...args) => logger.info(msg, ...args); export function logColor(level, chalkInstance, ...args) { // Only use color when pretty is enabled if (getLogFormat() === LogFormat.Pretty) { logger[level](chalkInstance(...args)); } else { // @ts-ignore pino type more restrictive than pino's actual arg handling logger[level](...args); } } export const logBlue = (...args) => logColor('info', chalk.blue, ...args); export const logBlueKeyValue = (key, value) => { logBlue(`${chalk.bold(`${key}:`)} ${value}`); }; export const logPink = (...args) => logColor('info', chalk.magentaBright, ...args); export const logGray = (...args) => logColor('info', chalk.gray, ...args); export const logGreen = (...args) => logColor('info', chalk.green, ...args); export const logRed = (...args) => logColor('info', chalk.red, ...args); export const logBoldUnderlinedRed = (...args) => logColor('info', chalk.red.bold.underline, ...args); export const logBoldBlue = (...args) => logColor('info', chalk.blue.bold, ...args); export const logTip = (...args) => logColor('info', chalk.bgYellow, ...args); export const warnYellow = (...args) => logColor('warn', chalk.yellow, ...args); export const errorRed = (...args) => logColor('error', chalk.red, ...args); export const logDebug = (msg, ...args) => logger.debug(msg, ...args); // No support for table in pino so print directly to console export const logTable = (...args) => console.table(...args); //# sourceMappingURL=logger.js.map