/ / Uložiť správy Django do databázy? - django, ťažba dreva

Ukladanie správ Django do databázy? - django, ťažba dreva

Django (webový rámec pythonu) používa systém logovania systému python na ukladanie protokolov.

Existuje jednoduchý spôsob ukladania správ do denníka?databázy a potom umožniť používateľom správcov prehliadať ich cez web? Je to druh vecí, ktoré by som mohol napísať sám, ale nemá zmysel vynaliezať nové koleso. Nechcem zaznamenávať výnimky, ale správy typu info / debug / notice, ktoré som pridal do kódu.

V ideálnom prípade by som chcel mať možnosť ukladať metadátao správe protokolu, ako je hotová (napríklad vzdialená adresa IP, používateľský agent, ID procesu wsgi atď.), a potom na základe toho filtrovať / prehliadať (tj zobraziť mi všetky správy protokolu z tejto adresy IP za posledných 24 hodín). Urobil to niekto?

odpovede:

13 pre odpoveď č. 1

Stačí použiť hliadka. Havran, časť Django funkčnosti zapadá do rámca protokolovania, takže okrem zhromažďovania chýb z vašej aplikácie by sa mali zobraziť aj všetky vlastné správy denníka.


4 pre odpoveď č. 2

Okrem zrejmej voľby Sentryho existuje kvôli cvičeniu aj pekný blogový článok s názvom „Vytváranie vlastného obslužného programu denníkov, ktorý sa prihlasuje do databázových modelov v django„v„ blogu James Lin “, ktorý stručne vysvetľuje, ako to urobiť pomocou druhej databázy so vzorkami kódu.

Kód je upravený zo štandardného Python RotatingFileHandler:

...RotatingFileHandler vám umožňuje určiť, do ktorého súboru sa majú zapisovať a otáčať súbory, preto by vám môj DBHandler mal tiež umožniť určiť, do ktorého modelu sa má vložiť, a určiť expiráciu v nastaveniach, a čo je najlepšie, v samostatnej aplikácii.

To by sa tiež dalo ľahko prispôsobiť na použitie jednej databázy.


0 pre odpoveď č. 3

skúste django-požiadavky. Vyskúšal som to a v podstate iba ukladá protokoly požiadaviek do tabuľky s názvom žiadosti.


0 pre odpoveď č. 4

skontrolujte django-db-logger

integrácia trvá menej ako minútu

https://github.com/CiCiUi/django-db-logger