The bot log domain has a filter in the tree, unwired #111

Open
opened 2026-08-04 13:53:24 +00:00 by sickday · 0 comments
Owner

lib/revenant/log_filter.ex and lib/revenant/log_file.ex (Rev.LogFilter,
Rev.LogFile) are in the tree and referenced by nothing: no supervision
child, no config, no caller. They implement per-domain log streams with
in-game mute/unmute — exactly what a bot fleet needs when five hundred nav
lines a minute start drowning the operator's terminal — but they predate the
tree's naming conventions and their stream-prefix table points at module
namespaces that do not exist here.

The bot subsystem (feat/bots) tags every log line domain: [:bot] already,
so wiring the filter is a drop-in when it happens:

  • rename both modules into the tree's bare style and re-point the prefix
    table at Bot.*
  • rename the logger handler id to something of this project's own
  • install from Revenant.start/2
  • add the ::logs / ::unmute <domain> commands the filter was built to
    serve, under the existing permission conventions

Until then, ordinary Logger levels are the only volume control, which is
fine at small fleet sizes and will not be at large ones.

`lib/revenant/log_filter.ex` and `lib/revenant/log_file.ex` (`Rev.LogFilter`, `Rev.LogFile`) are in the tree and referenced by nothing: no supervision child, no config, no caller. They implement per-domain log streams with in-game mute/unmute — exactly what a bot fleet needs when five hundred nav lines a minute start drowning the operator's terminal — but they predate the tree's naming conventions and their stream-prefix table points at module namespaces that do not exist here. The bot subsystem (`feat/bots`) tags every log line `domain: [:bot]` already, so wiring the filter is a drop-in when it happens: - rename both modules into the tree's bare style and re-point the prefix table at `Bot.*` - rename the logger handler id to something of this project's own - install from `Revenant.start/2` - add the `::logs` / `::unmute <domain>` commands the filter was built to serve, under the existing permission conventions Until then, ordinary Logger levels are the only volume control, which is fine at small fleet sizes and will not be at large ones.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Revenant/Server#111
No description provided.