repoze.errorlog implementeert een WSGI middleware filter die uitzonderingen slim en schrijft ze aan een Python logging module kanaal & nbsp; (of de wsgi.errors filehandle, als er geen kanaal is geconfigureerd). Het staat ook het browsen op beperkte uitzondering geschiedenis via een browser UI.
Configuratie
Als u wilt de standaard configuratie gebruikt, kunt u net omvatten het filter in PasteDeploy pijplijn van uw toepassing, bijvoorbeeld:
[Pijplijn: main]
pijplijn = ei: Paste # cgitb
& Nbsp; ei: repoze.errorlog # errorlog
& Nbsp; yourapp
Als u wilt de standaard configuratie overschrijven, moet u een apart gedeelte voor de filter te maken. De configuratie-opties voor Plakken op dit moment zijn kanaal, houden en het pad. Om repoze.errorlog configureren om de Repoze houtkap kanaal, die stuurt naar de logging kanaal te gebruiken alsof u naar een logger van code waar je deed 'van houtkap import getLogger; logger = getLogger ("Repoze") "en tot 50 tracebacks houden rond voor through-the-web uitzondering bekijken, configureren als volgt:
[Filter: errorlog]
kanaal = Repoze
houden = 50
path = / __ my_error_log__
negeren = RuntimeError my.module: MyError
Standaard is er geen kanaal geconfigureerd en tracebacks worden aan de wsgi.errors file handle (dat moet leiden tot de fouten te zien zijn in uw server error log) verzonden. Standaard is de uitzondering geschiedenis lengte ('houden') is 20.
Standaard is het pad van de error log's is / __ error_log__; kunt u voor uw inzet deze zo nodig te wijzigen.
Het negeren parameter voorkomt dat de naam van wordt vastgelegd of bewaard in uitzondering geschiedenis (hoewel ze reraisede) uitzonderingen. Standaard worden geen uitzonderingen genegeerd.
Om de geconfigureerd filter te gebruiken in de pijplijn:
[Pijplijn: main]
pijplijn = ei: Paste # cgitb
& Nbsp; errorlog
& Nbsp; yourapp
Als u geen gebruik PasteDeploy, kunt u de ErrorLog middleware handmatig configureren:
app = ErrorLog (app, kanaal = Geen, houden = 20, path = '/ __ error_log__',
& Nbsp; ignored_exceptions = ())
Gebruik
Als u recente tracebacks via uw browser (uitzondering geschiedenis) te bekijken, bezoek de / __ error_log__ pad aan de hostnaam vertegenwoordigd door uw server. Een blik zal worden gepresenteerd toont u alle recente tracebacks. Klikken op één brengt u naar een pagina waar u de traceback en een weergave van de WSGI omgeving die aanwezig zijn op het moment dat de uitzondering is opgetreden was toont.
Het integreren
Wanneer repoze.errorlog is geplaatst in de pijplijn, twee sleutels in het WSGI milieu geplaatst op elk verzoek (zelfs wanneer een uitzondering niet wordt verhoogd en gevangen door repoze.errorlog):
& Nbsp; repoze.errorlog.path - het pad waar de fouten log boek is geconfigureerd
& Nbsp; repoze.errorlog.entryid - de toegang id van de volgende fout
Middleware en applicaties die uitzonderingen te vangen kan een URL samenstellen
om de huidige fout (voor nuttige ontwikkeling feedback) wanneer zij
weet repoze.errorlog is in de pijplijn met behulp van de volgende code ::
& Nbsp; van paste.request import construct_url
& Nbsp; path = environ ['repoze.errorlog.path']
& Nbsp; entry = environ ['repoze.errorlog.entryid']
& Nbsp; url = construct_url (environ, PATH_INFO = pad,
& Nbsp; querystring = 'entry =% s'% entry)
Wat is nieuw in deze release:
- Deze release is de laatste die steun zal handhaven voor Python 2.4 / Python 2.5.
- Ondersteuning toegevoegd voor continue integratie met behulp van Tox en Jenkins.
- Ondersteuning toegevoegd voor pypy.
- Toegevoegde 'setup.py dev' alias (runs setup.py ontwikkelen plus installeert neus en dekking).
- Verplaatst naar GitHub.
Eisen
- Python
Reacties niet gevonden