Axonpack
Reference

Console tab

Toolbar, filters, row anatomy, and the > prompt.

Mirrors console.log, .info, .warn, .error and .debug, plus output from wired-up WebView pages. Holds the 500 most recent rows.

Toolbar

ControlWhat it does
Record / ClearAs on the panel. The > prompt still answers while capture is paused.
Filter (⌕ list)Opens the filters panel.
Warn/error/crash countsOn the right: a live count of captured warnings, errors and crashes, each in its colour.

Filters panel

FieldWhat it does
Search boxMatches the rendered text of a message, with match-case / whole-word / regex modes.
Level chipsAll (n), Logs (n), Info (n), Warnings (n), Errors (n), Debug (n), Crashes (n). Counts are live.
Source chipsOne per source, shown only when more than one source has logged, which means once a WebView reports in.

Filters live in a store shared with the Console panel in React Native DevTools, so a filter set on either side shows on both, and switching tabs keeps them.

A console row

ElementMeaning
Level iconInfo, warning, error and debug get a glyph and colour; warnings and errors tint the whole row.
ArgumentsOne cell per logged argument, so a message and its object stay apart. Objects and arrays render as a collapsed JSON tree; tap to expand level by level.
ErrorThe message on the row; tap to expand the full stack.
Call siteOn warnings and errors: the file:line that logged them, resolved through Metro in a development build.
SourceWebView::[name] for browser-view output; absent for your app's own.
×nRepeat count. Consecutive identical messages from the same source collapse into one row.
TimeWall-clock time of the most recent occurrence.
CopyCopies the row's text.

The list follows the newest output and stops following the moment you scroll back, with a ⌄ button to jump to the newest again.

Every crash is also written into the list, at the Crashes level, as a card rather than a line: its name and message, its kind, a Previous launch badge when it was read back from disk, and Open report. Tapping the card opens the full report over the Console tab. An error row that belongs to a crash works the same way: tapping the message opens the report, while the disclosure arrow still expands the inline stack.

The > prompt

Present when the REPL is enabled through console.repl, which defaults to true in every build.

  • Type an expression and submit: your input appears as an input row (›), the result as a result row (‹). Objects come back as the same explorable tree.
  • A returned promise shows as pending and fills in when it settles.
  • Suggestions appear as chips above the prompt as you type, including members of whatever object you are inside. Tap one to complete.
  • Tap any earlier input row to load that command back into the prompt.
  • $modules('auth') lists loaded Metro modules matching a string; $m('src/stores/auth') returns one. Both read Metro's module registry, which only a development bundle has, so in a release build they return nothing.
  • Anything passed in console.context is in scope by name.

Your app's own imports are not reachable by name: a bundled module is a private closure, so there is nothing for an expression to resolve. context is how you hand over the objects you want to poke at, and it is the only route that works in a release build.

On this page