Skip to content

Unify dropshot logger level across ddmd and mgd? #740

@zeeshanlakhani

Description

@zeeshanlakhani

The two daemons currently construct their dropshot loggers differently.

  • mgd/src/admin.rs builds dropshot's logger as a child of the parent (log.new(o!(...))), so dropshot inherits whatever level mgd runs at (typically Info).
  • ddm/src/admin.rs and ddm/src/exchange/runtime.rs construct a separate ConfigLogging::StderrTerminal { level: Error }.to_logger(...) so dropshot's per-request logs are suppressed unless it surfaces at Error.

With #729, both API surfaces now carry the same structured keys (component / module / unit), but still have different level thresholds.

Adding some context from @taspelund:

I'm going to tag in @rcgoodfellow in to help give some historical context -- I just don't have the history with ddm to know why we'd filter the logs down to just >= error.

I would think info should generally not be so cluttered that we need to avoid them in the logger. If the reason for the filter was truly just noise, then we should consider converting noisy logging calls to debug instead of leaving them at info... although I'm ok if that means filing a follow-up issue to address it later, rather than holding up this PR

Metadata

Metadata

Labels

ddmdDDM daemonmgdMaghemite daemon

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