import { AxiosError } from 'axios' import chalk from 'chalk' import log, { logBlankLine } from 'src/log' import { Obj } from 'src/type' export function logError(err: Obj) { const prefix = 'cone-err' if (!err) { return } logBlankLine() if (err.isAxiosError) { const _err = err as unknown as AxiosError log.error(prefix, 'err request url', _err.config.url) log.error(prefix, 'err request data %o', _err.config.data) log.error(prefix, 'err response data %o', _err.response?.data) log.verbose(prefix, 'err response', _err.response) } else { const isError = err instanceof Error if (isError) { console.error(chalk.magenta(prefix)) // eslint-disable-line no-console console.error(chalk.red(err.stack)) // eslint-disable-line no-console } else { log.error(prefix, '%o', err) } } }