Skip to content

Bug: gateway.log component filter excludes hermes_plugins.* loggers — plugin registration messages invisible #28138

@WompaJango

Description

@WompaJango

Description

gateway.log uses a _ComponentFilter that only passes records from loggers starting with the prefixes in COMPONENT_PREFIXES["gateway"]. Currently that is just ("gateway",). Plugin modules are loaded under the hermes_plugins.* namespace — so all plugin log output is silently dropped from gateway.log.

Affected file

hermes_logging.py line 144:

COMPONENT_PREFIXES = {
    "gateway": ("gateway",),
    ...
}

The _ComponentFilter (line 126-138) checks record.name.startswith(("gateway",)) — plugin loggers like hermes_plugins.group_chat_rate_limiter and hermes_plugins.memory_pipeline never match.

Evidence

agent.log (unfiltered) has 117 occurrences of "Plugin discovery complete" from plugin discovery. gateway.log has 0. Plugin register() calls that log at INFO — e.g. "registered speak-limiter hooks" — appear in agent.log (sometimes) but NEVER in gateway.log.

Reproduce

  1. Enable any plugin that logs during register(), e.g. memory-pipeline which logs "memory-pipeline: registered..." at INFO
  2. Restart gateway
  3. grep "registered" gateway.log → empty
  4. grep "registered" agent.log → present

Impact

Operators debugging gateway behavior check gateway.log for gateway-related activity. Plugin registration — which directly affects gateway hooks (pre_gateway_dispatch, transform_llm_output, etc.) — is gateway-relevant but invisible in the gateway-specific log. The gobby-rate-limiter plugin appeared to not load at all based on gateway.log inspection, when in fact it was working perfectly — the registration just was not visible there.

Suggested fix

Add "hermes_plugins" to the gateway component prefixes:

COMPONENT_PREFIXES = {
    "gateway": ("gateway", "hermes_plugins"),
    ...
}

Alternatively, add a separate plugin component or make gateway.log less restrictive.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Low — cosmetic, nice to havecomp/gatewayGateway runner, session dispatch, deliverycomp/pluginsPlugin system and bundled pluginstype/bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions