Как вариант, можно ограничивать окно 5-ю строчками, и при клике на область кода разворачивать всю функцию. Я понимаю, что функции должны быть лаконичными, но не всегда так получается…
Красиво и полезно. Убеждаюсь, что не только Ajenti сама по себе «State of the art», но и весь софт, который вы открываете как отдельные продукты. Спасибо вам.
Sentry тоже в тырнет все загружает (хоть на свой сервер, хоть в getsentry.com), и в код все эти catcher.collect(e) писать не нужно, т.к. клиент работает просто как обработчик для стандартного logging. Это означает, что не только исключения писать можно, но и ворнинги. И что можно записывать какие-то события, возникающие в сторонних библиотеках (там, где код править нехорошо). А на сервере похожие исключения объединяются по группам (если их очень много — то используется семплинг), можно отмечать решенные проблемы, ну и т.д. HTML рендерится на сервере — не нужно его генерить на клиенте и гонять по сети. В python-catcher отчеты по http загружаются — это не очень хорошо, т.к. это тоже может упасть с исключением или повесить процесс; в sentry для этого есть вариант с UDP.
Из преимуществ python-catcher — возможно, отсутствие умного сервера, это да.
Да, действительно, вы правы.
Так привык к этому тулбару, что мой сонный мозг даже не заметил подвоха, когда сочинял комментарий.
> А логика проста — не подсвечены встроенные джанговские функции.
Вы не поверите, но до меня это дошло как раз во время созерцания собственного скриншота. Раньше над этим как-то и не задумывался.
Вот это, кстати, фантастика, как круто и удобно. Можно зайти в консоль в любом окружении из трейсбека и потыкаться, посмотреть, что происходило в момент ошибки.
Есть еще для джанги такая потрясная команда runserver_plus из django-extensions, она запускает джанговский сервер с консолью веркзеуга (на случай ошибок).
Красивые трейсбеки в Python