Formatting exception handling and fill_missing_fmt_key error
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 45/100
Direzione di ricerca
Inizia in fluent/handler.py intorno alla riga collegata 151 e riproduci il traceback di formattazione di Python 3.8+. Traccia come viene gestito ValueError per ogni stile e come risponde il percorso di FluentRecordFormatter con fill_missing_fmt_key=True; il lavoro è completo quando sia la gestione degli errori di formattazione sia il riempimento delle chiavi mancanti funzionano come previsto.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
There is ValueError is reraised instead of KeyError in the format method of each style class since python3.8:
https://github.com/python/cpython/issues/79025#issuecomment-1093800953
So formatting error handling and fill_missing_fmt_key=True arg of FluentRecordFormatter does not work correctly.
Traceback (most recent call last):
File "/usr/lib/python3.10/logging/__init__.py", line 440, in format
return self._format(record)
File "/usr/lib/python3.10/logging/__init__.py", line 458, in _format
return self._fmt.format(**values)
KeyError: 'kubernetes'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/nz/.local/lib/virtualenvs/platform10/lib/python3.10/site-packages/django/core/management/base.py", line 330, in run_from_argv
self.execute(*args, **cmd_options)
File "/home/nz/.local/lib/virtualenvs/platform10/lib/python3.10/site-packages/django/core/management/commands/runserver.py", line 61, in execute
super().execute(*args, **options)
File "/home/nz/.local/lib/virtualenvs/platform10/lib/python3.10/site-packages/django/core/management/base.py", line 371, in execute
output = self.handle(*args, **options)
File "/home/nz/.local/lib/virtualenvs/platform10/lib/python3.10/site-packages/django/core/management/commands/runserver.py", line 96, in handle
self.run(**options)
File "/home/nz/.local/lib/virtualenvs/platform10/lib/python3.10/site-packages/django/core/management/commands/runserver.py", line 103, in run
autoreload.run_with_reloader(self.inner_run, **options)
File "/home/nz/.local/lib/virtualenvs/platform10/lib/python3.10/site-packages/django/utils/autoreload.py", line 617, in run_with_reloader
logger.info('Watching for file changes with %s', reloader.__class__.__name__)
File "/usr/lib/python3.10/logging/__init__.py", line 1477, in info
self._log(INFO, msg, args, **kwargs)
File "/usr/lib/python3.10/logging/__init__.py", line 1624, in _log
self.handle(record)
File "/usr/lib/python3.10/logging/__init__.py", line 1634, in handle
self.callHandlers(record)
File "/usr/lib/python3.10/logging/__init__.py", line 1696, in callHandlers
hdlr.handle(record)
File "/usr/lib/python3.10/logging/__init__.py", line 968, in handle
self.emit(record)
File "/home/nz/.local/lib/virtualenvs/platform10/lib/python3.10/site-packages/fluent/handler.py", line 232, in emit
data = self.format(record)
File "/usr/lib/python3.10/logging/__init__.py", line 943, in format
return fmt.format(record)
File "/home/nz/.local/lib/virtualenvs/platform10/lib/python3.10/site-packages/fluent/handler.py", line 97, in format
data = self._formatter(record)
File "/home/nz/.local/lib/virtualenvs/platform10/lib/python3.10/site-packages/fluent/handler.py", line 154, in _format_by_dict
raise exc
File "/home/nz/.local/lib/virtualenvs/platform10/lib/python3.10/site-packages/fluent/handler.py", line 148, in _format_by_dict
value = self.__style(value).format(record)
File "/usr/lib/python3.10/logging/__init__.py", line 442, in format
raise ValueError('Formatting field not found in record: %s' % e)
ValueError: Formatting field not found in record: 'kubernetes'
ValueError must be handled here
- Lingua principale
- Python
- Stelle
- 457
- Fork
- 138
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di fluent/fluent-logger-python
-
support of `asctime` Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 48/100
fluent/fluent-logger-python#210 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 25/100
fluent/fluent-logger-python#196 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 42/100
fluent/fluent-logger-python#195 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 45/100
fluent/fluent-logger-python#194 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
fluent/fluent-logger-python#193 · 3 commenti ·
Tutte le issue di fluent/fluent-logger-python
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
use-agent-os/agent-os#3314 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
BasedHardware/omi#15662 · 1 commento ·
-
documentation help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 90/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
AiursoftWeb/AnduinOS-2#19 ·