The diagnostics groups require static initialization and suffer from the undefined initialization order for globals (this is standard-compliant). This means that a global component producing diagnostics during initialization, and being initialized arbitrarily before the diagnostics group it uses, will not have its diagnostics messages shown. The same goes for destruction and shut-down.
Ideally, the diagnostics groups should be initialized on demand (lazy) and outlive any component using them.