On Thu, Jun 22, 2017 at 12:12:55PM +0300, Oleksandr Gavenko wrote: > On 2017-06-22, Eugene Berdnikov wrote: > > > On Thu, Jun 22, 2017 at 10:31:05AM +0300, Oleksandr Gavenko wrote: > >> * длиннючие строки, grep в терминале бессмысленен, через ag в Emacs > >> исследую > > > > У меня xterm длинные строки не обрубает, а показывает в несколько строк, > > и боюсь, у него это по дефолту. :) Вообще, есть less, он умеет и обрубать, > > и переносить, и менять режим на ходу (-S). Чтобы легче было что-то найти > > в длинной выдаче грепа, рекомендуется ставить ключик --color=auto. > > > 10 переводов строк и уже нечитабельно. В Emacs по С-s можно двигаться к > нужному месту, есть история поиска и подсветка кусочков по регулярке в разные > цвета...
Здесь мы уходим от исходного утверждения "grep в терминале бессмысленен". В less тоже есть подсветка, кстати. > >> * в случае трейсов они многострочные - grep не работает > > > > У грепа есть ключики -A и -B, рекомендую. > > > grep -B120 ?? В отличии от Python причина ошибки в Java трейсе в конце... Здесь мы уходим от исходного утверждения "grep не работает". Работает. Только задаче он не сильно адекватен, но это уже другой вопрос. > >> * события раскиданы по группе файлов, пока копаешься в одном, фокус на > >> тройку > >> других теряеться (может многотабовый редактор тут поможет, я не уверен) > > > > Создатель поставил человеку мозг, который способен держать в фокусе > > внимания от 3 до 7 объёктов одновременно. А уж как эти объекты перед своим > > носом повесить -- дело вкуса: некоторые подключают к компу три монитора. > > > Если в конкретном логе сосредоточился на группе 7 событий? Тогда ещё одно событие, и мозг будет вынесен. :) Зато будет повод отвлечься и подумать о том, как структурировать отладочный вывод. Возможно, также упорядочить код и переделать структуры данных. > > Вы о логах или трейсах? Трейсы в Java это отдельный мотив для суицида... :) > > > Трейс всегда идет как дополнение к комплекту. Что можно достать из события: > > https://logback.qos.ch/apidocs/ch/qos/logback/classic/spi/ILoggingEvent.html > > Трейсы всегда полезны и позволяют зачастую воссоздать довольно реалистично > состояние приложения. У разработчика всегда есть выбор средств отладки. Он может пользоваться printf() и его аналогами, а может копаться в дампах, трейсах, ковыряться в программе дебаггером и т.д. При выборе неадекватного средства появляются шансы захлебнуться в потоках дерьма, особенно при близости к Java. Сделайте отладочную выдачу короткой и осмысленной, и наступит облегчение. А для трейсов напишите свой фильтр, выделяющий нужные фрагменты. -- Eugene Berdnikov

