(хочу) вывод разной степени критичности
От: Кодт Россия  
Дата: 03.08.15 16:00
Оценка:
Не знаю, как точно сформулировать, поэтому надеюсь на коллективную телепатию.

Суть вот в чём.
Допустим, я запускаю в консоли что-то длинное — компиляцию проекта, юнит-тесты и т.п.
Весь вывод можно ранжировать по трём категориям:
— шапка/подвал "будет запущено 100500 тестов..." / "100 тестов прошло, 500 провалилось" — чтобы понимать, чего следует ожидать от забега
— критичные сообщения "[FAILED] Some.Test" — чтобы видеть проблемы по мере их поступления, а не только постфактум, разгребая лог
— весь вывод — чтобы убедиться, что процесс не завис, грубо говоря
(возможно и более мелкое дробление)

Проблем здесь три
1) уровней критичности больше, чем 2 (т.е. нельзя просто так раскидать на stderr и stdout)
2) у исходной программы своё видение, что в какой поток валить; а мне хотелось бы, например, в критичном потоке видеть не только красное [FAILED], но и немножко предыстории
3) как визуализировать?

В общем-то, не так уж и сложно написать программу-фильтр (на питоне или даже awk) и запускать
my_unit_tests 2>&1 | my_pretty_filter


Но как эту красоту визуализировать?
Связываться с голыми curses не хочу. Вот если бы припахать tmux или screen какой-нибудь...

Открыть параллельно три терминала и подключить в каждом из них соответствующий tail -f ~/workspace/severityN.log — это самый последний вариант. Хуже не придумаешь.
Чуть лучше — запустить SublimeText и открыть в нём эти логфайлы — пусть он следит за изменениями. Но это тоже так себе.

Да, желательно решение, пригодное для убунты, мака и гитбаша. Или хотя бы для мака.
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.