[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Разбор ошибок в логах.



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


Reply to: