repoze.errorlog realizuje filtr WSGI middleware który przechwytuje wyjątki i zapisuje je do modułu rejestrowania Pythona kanał & nbsp; (lub wsgi.errors UCHWYTPLIKU, jeśli żaden kanał nie jest skonfigurowany). Umożliwia również przeglądanie historii wyjątków ograniczoną interfejsu użytkownika za pośrednictwem przeglądarki.
Konfiguracja
Jeżeli chcesz korzystać z domyślnej konfiguracji, można po prostu to filtr w PasteDeploy rurociągu danej aplikacji, na przykład:
[Rurociągu: main]
Rurociąg = jaj: Wklej # cgitb
& Nbsp; jaja: repoze.errorlog # errorlog
& Nbsp; yourapp
Jeśli chcesz, aby zastąpić domyślną konfigurację, trzeba zrobić osobny dział dla filtra. Opcje konfiguracji Wklej w tym czasie są kanały, utrzymać i ścieżkę. Aby skonfigurować repoze.errorlog korzystać z kanału rejestrowania Repoze, który wysyła do kanału rejestrowania jak gdyby wysłać do rejestratora z kodem, w którym zrobił "z rejestrowania przywozu getLogger; Rejestrator = getLogger ("Repoze") "i zachować 50 tracebacks wokół za pośrednictwem-the-web widzenia wyjątkiem, skonfigurować w taki sposób:
[Filtr: errorlog]
Kanał = Repoze
utrzymać = 50
path = / __ my_error_log__
ignore = RuntimeError my.module: MyError
Domyślnie, żaden kanał nie jest skonfigurowany, a tracebacks są wysyłane do uchwytu pliku wsgi.errors (co powinno spowodować błędy, aby pokazać się w dzienniku błędów twojego serwera). Domyślnie, długość historii wyjątku ("trzymać") jest 20.
Domyślnie ścieżka dziennika błędów jest / __ error_log__; można to zmienić, jak to konieczne do wdrożenia.
Parametr ignorować zapobiega wyjątki nazwanych od logowania lub trzymane w historii wyjątków (chociaż są przebił). Domyślnie nie ma wyjątków są ignorowane.
Aby korzystać z przestawiony filtr w rurociągu:
[Rurociągu: main]
Rurociąg = jaj: Wklej # cgitb
& Nbsp; errorlog
& Nbsp; yourapp
Jeśli nie używasz PasteDeploy można skonfigurować middleware ErrorLog ręcznie:
app = ErrorLog (aplikacja, kanał = None, zachować = 20, path = "/ __ error_log__",
& Nbsp; ignored_exceptions = ())
Zastosowanie
Aby wyświetlić ostatnie tracebacks za pośrednictwem przeglądarki (historii wyjątków) swojej odwiedź / __ ścieżkę error_log__ na hosta reprezentowanego przez serwer. Widok pokażą Ci wszystkie ostatnie tracebacks. Kliknięcie na jedną zaprowadzi Cię do strony, która pokazuje traceback i świadczenia, które WSGI środowiska był obecny w momencie wystąpienia wyjątku.
Integracja
Przy repoze.errorlog jest umieszczony w rurociągu umieszczone są dwa klucze do środowiska WSGI na każde żądanie (nawet gdy wyjątek nie zostanie podniesiona i wchodzą w zakres repoze.errorlog)
& Nbsp; repoze.errorlog.path - droga, na której jest skonfigurowany errorlog
& Nbsp; repoze.errorlog.entryid - id wpis następnego błędu
Middleware i aplikacji, które mogą tworzyć wyjątki złapać adres URL
do bieżącego błędu (dla pomocnych informacji zwrotnych rozwoju), kiedy
wiem repoze.errorlog jest w rurociągu za pomocą następującego kodu ::
& Nbsp; z paste.request importu construct_url
& Nbsp; path = environ ['repoze.errorlog.path']
& Nbsp; wpis = environ ['repoze.errorlog.entryid']
& Nbsp; url = construct_url (environ, PATH_INFO = ścieżki,
& Nbsp; kwerendy = 'wpis =% s' Wpis%)
Co nowego w tym wydaniu:
- Ta wersja jest Ostatnia, która utrzyma wsparcie dla Pythona 2.4 / Python 2.5.
- Dodano wsparcie dla ciągłej integracji za pomocą tox i Jenkins.
- Dodano wsparcie dla PyPy.
- dodanej "setup.py dev" Alias (działa setup.py rozwijać oraz instaluje nos i zasięg).
- Przeniesiony do github.
Wymagania :
- Python
Komentarze nie znaleziono