Pracuję z aplikacją Python/Flask i próbuję uzyskać logi do sformatowania (po linii) w json.Formatowanie logów aplikacji Flask w json
Korzystanie z pakietu python-json-rejestratora, mam zmodyfikowano formatowania dla app.logger następująco:
from pythonjsonlogger import jsonlogger
formatter = jsonlogger.JsonFormatter(
'%(asctime) %(levelname) %(module) %(funcName) %(lineno) %(message)')
app.logger.handlers[0].setFormatter(formatter)
to działa zgodnie z oczekiwaniami. Wszystkie wiadomości przekazane do app.logger
są poprawnie sformatowane w json.
Jednak aplikacja automatycznie rejestruje wszystkie żądania. Informacja ta pojawia się w stdout następująco:
127.0.0.1 - - [19/Jun/2015 12:22:03] "GET /portal/ HTTP/1.1" 200 -
Chcę te informacje mają być sformatowane w json, jak również. Szukałem logger/kod, który jest odpowiedzialny za tworzenie tego wyjścia bez powodzenia.
Gdzie jest generowane to wyjście? Czy mechanizmy zmieniają formatowanie tej zalogowanej informacji?
te dzienniki widzisz są prawdopodobnie pochodzących z serwera jesteś wykorzystującego a nie z 'wsgi' aplikacja. Z którego serwera korzystasz? – sirfz
@MartijnPieters może masz rację, ale dla 'Flask' nie ma sensu rejestrowanie żądań dostępu, ponieważ nie powinno to być jego zadaniem. – sirfz
@sirfz: z wyjątkiem tego nie ma. Jesteś w rzeczywistości poprawny. –