repoze.errorlog met en œuvre un filtre WSGI middleware qui intercepte les exceptions et les écrit dans un module canal & nbsp d'enregistrement de Python; (ou les wsgi.errors descripteur de fichier, si aucun canal ne est configuré). Il permet également la navigation de l'histoire de l'exception limitée via une interface de navigateur.
Configuration
Si vous souhaitez utiliser la configuration par défaut, vous pouvez simplement inclure le filtre dans le pipeline PasteDeploy de votre application, par exemple:
[Pipeline: principale]
pipeline = oeuf: Coller # cgitb
& Nbsp; oeuf: repoze.errorlog # errorlog
& Nbsp; yourapp
Si vous souhaitez remplacer la configuration par défaut, vous devez faire une section distincte pour le filtre. Les options de configuration Coller à l'heure actuelle sont le canal, garder et le chemin. Pour configurer repoze.errorlog d'utiliser le canal de journalisation Repoze, qui envoie au canal d'enregistrement comme si vous aviez envoyer à un enregistreur de code où vous l'avez fait »de l'exploitation forestière importation getLogger; logger = getLogger ("Repoze") »et de garder 50 tracebacks autour depuis through-the-web exception visualisation, configurer comme ceci:
[Filtre: journal des erreurs]
channel = Repoze
garder = 50
path = / __ my_error_log__
ignore = RuntimeError my.module: myError
Par défaut, aucun canal ne est configuré, et tracebacks sont envoyés à la poignée de fichier wsgi.errors (qui devrait provoquer les erreurs apparaissent dans le journal des erreurs de votre serveur). Par défaut, la longueur de l'histoire d'exception («garder») est de 20.
Par défaut, le chemin du journal d'erreur est / __ error_log__; vous pouvez modifier ce que nécessaire pour votre déploiement.
Le paramètre ignorer empêche les exceptions nommées d'être enregistrés ou conservés dans l'histoire d'exception (même si elles sont sur-relance). Par défaut, aucune exceptions sont ignorés.
Pour utiliser le filtre reconfiguré dans le pipeline:
[Pipeline: principale]
pipeline = oeuf: Coller # cgitb
& Nbsp; errorlog
& Nbsp; yourapp
Si vous ne utilisez pas PasteDeploy, vous pouvez configurer le middleware ErrorLog manuellement:
app = ErrorLog (app, canal = Aucun, gardez = 20, path = '/ __ error_log__',
& Nbsp; ignored_exceptions = ())
Utilisation
Pour voir ces dernières tracebacks via un navigateur (l'histoire d'exception) votre, visitez le / __ chemin de error_log__ au nom d'hôte représenté par votre serveur. Une vue sera présenté en vous montrant tous tracebacks récentes. En cliquant sur celui-ci vous amènera à une page qui vous montre le retraçage et un rendu de l'environnement WSGI qui était présente au moment de l'exception se est produite.
Intégration
Lorsque repoze.errorlog est placé dans le pipeline, deux touches sont placées dans l'environnement de wsgi à chaque requête (même si une exception ne est pas soulevée et capturé par repoze.errorlog):
& Nbsp; repoze.errorlog.path - la voie à laquelle le journal des erreurs est configuré
& Nbsp; repoze.errorlog.entryid - l'id de la prochaine erreur d'entrée
Middleware et d'applications qui attirent exceptions peuvent composer une URL
à l'erreur actuelle (par rétroaction utile de développement) quand ils
repoze.errorlog savoir est dans le pipeline en utilisant le code suivant ::
& Nbsp; de paste.request construct_url d'importation
& Nbsp; path = environnement ['repoze.errorlog.path']
& Nbsp; entrée = environnement ['repoze.errorlog.entryid']
& Nbsp; url = construct_url (environ, path_info = chemin,
& Nbsp; querystring = 'entrée =% s' entrée%)
Quoi de neuf dans cette version:
- Cette version est le dernier qui va maintenir le soutien pour Python 2.4 / Python 2.5.
- Ajout du support pour l'intégration continue utilisant tox et Jenkins.
- Ajout du support pour PyPy.
- alias 'dev setup.py' Ajouté (pistes setup.py développent ainsi installe nez et de la couverture).
- Transféré à github.
Exigences :
- Python
Commentaires non trouvées