beasty-debug-logger / guides / console-window.md

The Beasty Console window

The window that reads your logs back to you: it classifies every entry by level, gives each level a filter toggle and a counter, and takes you from a stack-trace line to the file in your IDE.

Open it at Tools > Beasty VN > Diagnostics > Console. It is an editor window; it does not ship in a build.

The Beasty Console with the level filters and the detail panel

The toolbar

ControlWhat it does
ClearEmpties the list and zeroes every counter.
CollapseGroups identical messages into one row, showing (Nx).
Clear on PlayClears the list when you enter Play Mode.
Error PausePauses the editor on the first error or exception.
Search fieldCase-insensitive substring filter over the message text.

Error Pause reacts to Unity’s severity, which means errors and exceptions only. A LogCaution will not pause the editor; see Logging.

The level filters

Under the toolbar sits one toggle per level, each showing its live count. Click a toggle to hide that level from the list; click it again to bring it back. Hover it for a one-line description of what the level is for.

There is a toggle for every level the API can produce, plus two for everything else: Plain and Unknown.

The list

Each row is glyph [HH:mm:ss] message, coloured by level. With Collapse on, a repeated message shows its repeat count at the end of the row.

Click a row to select it. The detail panel below shows the full message and the stack trace, both as selectable text, so you can drag across them and copy.

Opening the file

Stack-trace lines that point at a real file are drawn as links. Click one to open that file at that line in your IDE.

Double-clicking the row does the same thing, but chooses the frame for you: it opens the first frame that is your own code, skipping the logger’s own wrapper. That is usually the line you wanted.

Frames from compiled assemblies have no real file path and are not links.

The splitter

The bar between the list and the detail panel is draggable. Drag it up to read a long stack trace, down to see more rows.

Behaviours worth knowing

These are not bugs. They are how the window works, and knowing them now will save you a support ticket later.

It shows everything, not only Beasty logs. The window listens to Unity’s log stream, so it receives every log in the project: your own Debug.Log calls, and messages from third-party packages. An entry it cannot classify is filed as Plain (a plain log) or Unknown. If you want everything classified, log through the API.

Collapse is not retroactive. Turning Collapse on groups messages that arrive from then on. Entries already in the list are left as they are. Clear the list first if you want a clean collapsed view.

The counters ignore the search field. The number on each filter toggle counts every entry of that level that has arrived, whatever you typed in the search box and whatever is currently hidden. Only Clear resets them.

The list does not survive a recompile. A script change triggers a domain reload, and the reload drops the list. Logs from before the recompile are gone. This is also why the list is empty when you re-open the window after a compile.

The display strips anything between < and >. The window strips rich-text tags so that colour markup does not appear as literal text on screen. It strips them with a blunt rule, so a message that legitimately contains angle brackets loses that fragment in the display: log Deprecated call: GetComponent<Rigidbody2D> and the row reads Deprecated call: GetComponent. The message reached Unity intact — only the display is affected. If the brackets matter, write the message without them.

See also