Unconditional logging, or logging filtered by tag(s)
- Vorherrschende Sprache
- C++
- Sterne
- 2.2k
- Forks
- 1.2k
- Ø Merge
- 4 T. 11 Std.
- Gemergte PRs (30 T.)
- 13
Beschreibung
### Describe the feature
We need to be able to write messages to log files, no matter which value global logging level is set.
Or, as a better option, to be able to set a log filter, to allow for only messages matching specific tag(s) to be logged.
### Use Case
Here is the issue.
Logging level is set globally, so if I want to log a couple of warn messages from my code, I find log files polluted to the limit with tons (literally) of messages from other subsystems, like some HTTP threads logging "warnings" several times every millisecond:
```
[WARN] 2025-10-14 13:41:58.209 http-connection [103460] id=01019428: Outgoing frames task sent no data, will try again next tick.
[WARN] 2025-10-14 13:41:58.209 http-connection [103460] id=01019428: Outgoing frames task sent no data, will try again next tick.
[WARN] 2025-10-14 13:41:58.209 http-connection [103460] id=01019428: Outgoing frames task sent no data, will try again next tick.
[WARN] 2025-10-14 13:41:58.209 http-connection [103460] id=01019428: Outgoing frames task sent no data, will try again next tick.
...
[WARN] 2025-10-14 13:41:58.209 http-connection [103460] id=01019428: Outgoing frames task sent no data, will try again next tick.
[WARN] 2025-10-14 13:41:58.210 http-connection [103460] id=01019428: Outgoing frames task sent no data, will try again next tick.
[WARN] 2025-10-14 13:41:58.210 http-connection [103460] id=01019428: Outgoing frames task sent no data, will try again next tick.
[WARN] 2025-10-14 13:41:58.210 http-connection [103460] id=01019428: Outgoing frames task sent no data, will try again next tick.
[WARN] 2025-10-14 13:41:58.210 http-connection [103460] id=01019428: Outgoing frames task sent no data, will try again next tick.
[WARN] 2025-10-14 13:41:58.210 http-connection [103460] id=01019428: Outgoing frames task sent no data, will try again next tick.
[WARN] 2025-10-14 13:41:58.210 http-connection [103460] id=01019428: Outgoing frames task sent no data, will try again next tick.
```
### Proposed Solution
1. Add unconditional logging macro
2. Add logging filtering, a list of tags allowed (or not allowed) to log, or, a better solution, an optional bool function, accepting a tag, passed to logging macro.
### Other Information
_No response_
### Acknowledgements
- [ ] I may be able to implement this feature request
- [ ] This feature might incur a breaking change
Beitragsleitfaden
Rechercherichtung
Es werden keine Dateien, Tests oder Einstiegspunkte genannt. Beginne damit, die Logging-Makros des SDK und die globale Konfiguration der Logging-Ebene zu finden, und ermittle dann, wie bedingungsloses Logging oder eine tagbasierte Filterung mit dem bestehenden Verhalten interagieren sollen; als abgeschlossen gilt die Arbeit, wenn die angeforderte Filterung oder Umgehung mit dokumentierter und getesteter Semantik implementiert ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- cpp
- Bereich
- observability-sre
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100