Events

The Events view is Hugin’s system event log. Every meaningful action — proxy lifecycle, scope change, scan started, finding created, MCP tool invoked, extension loaded, license refreshed, error caught — generates an event. Use it to debug (“why did that scan stop?”), audit (“which extension wrote that file?”), or just to see what Hugin’s been up to.

🔗Event Categories

Each event has a category for filtering:

  • proxy — proxy lifecycle, certificate generation, listener changes
  • scope — scope mutations
  • project — project switches, exports, imports
  • scanner — scan starts/stops, profile changes, check failures
  • intruder — attack lifecycle
  • ratrace — race test lifecycle
  • crawler — crawl lifecycle
  • extensions — Lua extension load/unload, hook errors, audit log entries
  • plugins — dynamic MCP plugin load/unload
  • mcp — MCP tool invocations (per-tool with action and outcome)
  • api — REST/GraphQL request errors
  • license — license verification, expiry warnings, trial events
  • update — update checks, downloads, install events
  • backup — backup creation, restore events
  • error — uncaught errors with backtraces

🔗Event Levels

  • Trace — verbose; off by default
  • Debug — diagnostic; off by default
  • Info — normal operations (default visible)
  • Warn — abnormal but recoverable
  • Error — failures requiring attention

The toolbar level slider toggles which levels render. Errors are always visible by default.

🔗Event Detail

Each event includes:

  • Timestamp (ms precision)
  • Category, level
  • Subject (free-form summary line)
  • Optional structured data (JSON object with context)
  • Optional error backtrace

Click any event to expand the detail view with the full structured payload.

🔗Filters

  • Category — multi-select
  • Level — minimum level to show
  • Search — substring across subject and structured data
  • Time range — last N minutes / hour / day / custom range
  • Project — filter to events from one project
  • Source — extension ID / plugin ID / MCP client ID

🔗Live Tail

Toggle Auto-scroll to follow new events. The view subscribes to the event broadcast channel via SSE (/api/events/stream) and renders new events as they arrive without polling.

🔗Recent

The Recent sub-view shows just the last 100 events from in-memory cache (faster than the database query for the most common case).

🔗Stats

The Stats sub-view aggregates events for the active filter:

  • Count by category
  • Count by level
  • Top sources (extension/plugin/tool that generated the most events)
  • Histogram by hour (24h window)

Useful for spotting noisy extensions or runaway tool invocations.

🔗Clear / Delete-Before

  • Clear — wipes all events (asks for confirmation)
  • Delete Before — purges events older than a chosen timestamp

Default retention is 30 days configurable in Settings → Advanced.

🔗Where Events Come From

  • Built-in — every meaningful operation in the Hugin core
  • Extensionshugin.log("info", "...") calls in Lua extensions
  • Plugins — log calls from dynamic MCP plugins
  • MCP tools — every tool invocation logs the tool name, action, and outcome
  • ExternalPOST /api/events lets external scripts push events into the log

🔗MCP

The events MCP tool exposes:

  • list — events with filters (category / level / search / since / until)
  • recent — recent events from memory cache
  • stats — aggregated stats
  • clear — clear all events
  • delete_before — delete events before timestamp