repoze.errorlog implementerer en WSGI mellomvare filter som fanger unntak og skriver dem til en Python logging modul kanal & nbsp; (eller de wsgi.errors filehandle, hvis ingen kanal er konfigurert). Den gjør det også lesing av begrenset unntak historie via en nettleser UI.
Konfigurasjon
Hvis du vil bruke standardkonfigurasjonen, kan du bare ta med filter i programmets PasteDeploy rørledning, f.eks:
[Rørledning: main]
rørledning = egg: Lim # cgitb
& Nbsp; egg: repoze.errorlog # errorlog
& Nbsp; yourapp
Hvis du ønsker å overstyre standardkonfigurasjonen, må du lage en egen seksjon for filteret. Konfigurasjons Lim Alternativene på dette tidspunktet er kanalen, beholde og bane. For å konfigurere repoze.errorlog å bruke Repoze logging kanal, som sender til logging kanal som om du hadde sendt til en logger fra koden der du gjorde 'fra logging import getLogger; logger = getLogger ("Repoze") "og for å holde 50 tracebacks rundt for gjennom-the-web unntak visning, konfigurere slik:
[Filter: errorlog]
kanal = Repoze
holde = 50
path = / __ my_error_log__
ignorere = RuntimeError my.module: MyError
Som standard er ingen kanal konfigurert, og tracebacks sendes til wsgi.errors fil håndtak (som bør føre til at feil å dukke opp i serverens error log). Som standard er unntaket historie lengde ('holde') 20.
Som standard er feilloggen bane / __ error_log__; du kan endre dette som nødvendig for distribusjonen.
Den ignorere parameter hindrer unntakene heter fra å bli logget eller oppbevares i unntaks historie (selv om de er høynet). Som standard er ingen unntak ignorert.
For å bruke rekonfigureres filter i rørledningen:
[Rørledning: main]
rørledning = egg: Lim # cgitb
& Nbsp; errorlog
& Nbsp; yourapp
Hvis du ikke bruker PasteDeploy, kan du konfigurere feillogg-mellomvare manuelt:
app = feillogg (app, kanal = Ingen, holde = 20, path = '/ __ error_log__',
& Nbsp; ignored_exceptions = ())
Bruk
For å vise de siste tracebacks via din nettleser (unntak historie), besøke / __ error_log__ banen på vertsnavn representert av serveren. En visning vil bli presentert som viser deg alle nyere tracebacks. Ved å klikke på ett vil bringe deg til en side som viser deg traceback og en gjengivelse av WSGI miljø som var til stede på det tidspunktet unntak oppstod.
Integrering
Når repoze.errorlog er plassert inn i rørledningen, to nøkler plassert i wsgi miljø på hver forespørsel (selv når et unntak ikke er hevet, og fanget opp av repoze.errorlog):
& Nbsp; repoze.errorlog.path - banen der errorlog er konfigurert
& Nbsp; repoze.errorlog.entryid - id av den neste feiloppføring
Mellomvare og applikasjoner som fanger unntak kan komponere en URL
til den aktuelle feilen (for nyttig utvikling feedback) når de
vet repoze.errorlog er i rørledningen ved hjelp av følgende kode ::
& Nbsp; fra paste.request import construct_url
& Nbsp; path = miljø ['repoze.errorlog.path']
& Nbsp; entry = miljø ['repoze.errorlog.entryid']
& Nbsp; url = construct_url (miljø, PATH_INFO = sti,
& Nbsp; QueryString = 'entry =% s'% oppføring)
Hva er nytt i denne utgaven:
- Denne utgivelsen er den siste som vil opprettholde støtte for Python 2.4 / Python 2.5.
- Lagt til støtte for kontinuerlig integrasjon ved hjelp av tox og Jenkins.
- Lagt til støtte for PYPY.
- Lagd 'setup.py dev' alias (runs setup.py utvikle pluss installerer nese og dekning).
- Flyttet til github.
Krav :
- Python
Kommentarer ikke funnet