Pull to refresh

Comments 21

И правда же, превосходно.
А чем ограничен размер кусков кода? Выводится вся функция, в которой произошла ошибка?
Как вариант, можно ограничивать окно 5-ю строчками, и при клике на область кода разворачивать всю функцию. Я понимаю, что функции должны быть лаконичными, но не всегда так получается…

А вообще красиво и юзабельно
Респект вам за то что открываете свои наработки.

Для сбора клевых трейсбеков есть еще такая штука как Sentry :)
Сами пользуемся, собираем ошибки с 2 систем одновременно (Одна на Python, другая на Ruby On Rails). Отличная штука надо заметить.
Красиво и полезно. Убеждаюсь, что не только Ajenti сама по себе «State of the art», но и весь софт, который вы открываете как отдельные продукты. Спасибо вам.
А правда, почему не Sentry?

Sentry тоже в тырнет все загружает (хоть на свой сервер, хоть в getsentry.com), и в код все эти catcher.collect(e) писать не нужно, т.к. клиент работает просто как обработчик для стандартного logging. Это означает, что не только исключения писать можно, но и ворнинги. И что можно записывать какие-то события, возникающие в сторонних библиотеках (там, где код править нехорошо). А на сервере похожие исключения объединяются по группам (если их очень много — то используется семплинг), можно отмечать решенные проблемы, ну и т.д. HTML рендерится на сервере — не нужно его генерить на клиенте и гонять по сети. В python-catcher отчеты по http загружаются — это не очень хорошо, т.к. это тоже может упасть с исключением или повесить процесс; в sentry для этого есть вариант с UDP.

Из преимуществ python-catcher — возможно, отсутствие умного сервера, это да.
Кстати, аналогичный подход используется в django-debug-toolbar. Очень удобно.

Там кстати показывается только соответствующий вызов в иерархии. А при клике по нему разворачивается кусок функции.

Еще (я так и не смог уловить логику), но некоторые значимые вызовы виделяются относительно остальных.

Мне кажется, так значительно удобнее, т. к. не всегда нужны листинги всех функций в иерархии вызовов. Сделайте их разворачиваемыми тоже.

Пример трейса (кликабельно):

Debug toolbar там не причем — это встроенный джанговский трейсбэк. А логика проста — не подсвечены встроенные джанговские функции.
Да, действительно, вы правы.
Так привык к этому тулбару, что мой сонный мозг даже не заметил подвоха, когда сочинял комментарий.

> А логика проста — не подсвечены встроенные джанговские функции.
Вы не поверите, но до меня это дошло как раз во время созерцания собственного скриншота. Раньше над этим как-то и не задумывался.
Утро вечера мудренее.
Пичалька, что под python-3.2 не заводится и дело не только в импортах (((
Отправил автору Pull Request на поддержку python 3.2
Принял от Zerstoren Pull Request на поддержку python 3.2
Мне больше нравятся трейсбеки веркцойка. Там еще и рабочая консоль для любого фрейма открывается.
Вот это, кстати, фантастика, как круто и удобно. Можно зайти в консоль в любом окружении из трейсбека и потыкаться, посмотреть, что происходило в момент ошибки.

Есть еще для джанги такая потрясная команда runserver_plus из django-extensions, она запускает джанговский сервер с консолью веркзеуга (на случай ошибок).
Sign up to leave a comment.

Articles