UNPKG

reactotron-react-native

Version:

A development tool to explore, inspect, and diagnose your React Native apps.

42 lines (35 loc) 1.2 kB
import { type InferFeatures, type LoggerPlugin, type ReactotronCore, assertHasLoggerPlugin, type Plugin, } from "reactotron-core-client" /** * Track calls to console.log, console.warn, and console.debug and send them to Reactotron logger */ const trackGlobalLogs = () => (reactotron: ReactotronCore) => { assertHasLoggerPlugin(reactotron) const client = reactotron as ReactotronCore & InferFeatures<ReactotronCore, LoggerPlugin> return { onConnect: () => { const originalConsoleLog = console.log console.log = (...args: Parameters<typeof console.log>) => { originalConsoleLog(...args) client.log(...args) } const originalConsoleWarn = console.warn console.warn = (...args: Parameters<typeof console.warn>) => { originalConsoleWarn(...args) client.warn(args[0]) } const originalConsoleDebug = console.debug console.debug = (...args: Parameters<typeof console.debug>) => { originalConsoleDebug(...args) client.debug(args[0]) } // console.error is taken care of by ./trackGlobalErrors.ts }, } satisfies Plugin<ReactotronCore> } export default trackGlobalLogs