import * as Sentry from '@sentry/react-native'; import { MONITOR_ENABLED, IS_DEV } from './sentry'; type LogContext = Record; export const logger = { debug(message: string, context?: LogContext): void { if (IS_DEV) console.debug(message, context); if (MONITOR_ENABLED) { Sentry.addBreadcrumb({ category: 'debug', message, data: context, level: 'debug' }); } }, info(message: string, context?: LogContext): void { if (IS_DEV) console.info(message, context); if (MONITOR_ENABLED) { Sentry.addBreadcrumb({ category: 'info', message, data: context, level: 'info' }); } }, warn(message: string, context?: LogContext): void { console.warn(message, context); if (MONITOR_ENABLED) { Sentry.captureMessage(message, { level: 'warning', extra: context }); } }, error(error: Error, context?: LogContext): void { console.error(error, context); if (MONITOR_ENABLED) { Sentry.captureException(error, { extra: context }); } }, };