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

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



On Thu, Jun 22, 2017 at 10:31:05AM +0300, Oleksandr Gavenko wrote:
> Я использую Java и логи ограничатся Java.
> 
> Постоянно приходиться выяснять причину проблем через содержимое логов.
> 
> Я встречаю сложности типа:
> 
> * длиннючие строки, grep в терминале бессмысленен, через ag в Emacs исследую

 У меня xterm длинные строки не обрубает, а показывает в несколько строк,
 и боюсь, у него это по дефолту. :) Вообще, есть less, он умеет и обрубать,
 и переносить, и менять режим на ходу (-S). Чтобы легче было что-то найти
 в длинной выдаче грепа, рекомендуется ставить ключик --color=auto.

> * в случае трейсов они многострочные - grep не работает

 У грепа есть ключики -A и -B, рекомендую.

> * события раскиданы по группе файлов, пока копаешься в одном, фокус на тройку
>   других теряеться (может многотабовый редактор тут поможет, я не уверен)

 Создатель поставил человеку мозг, который способен держать в фокусе
 внимания от 3 до 7 объёктов одновременно. А уж как эти объекты перед своим
 носом повесить -- дело вкуса: некоторые подключают к компу три монитора.

> * бессмысленная сложность из-за ротации файла
> * из-за ротации файлов теряеться история, лазить в архивах очень больно
> * события из разных потоков перемешаны между собою, фильтрация из-за
>   многострочных трейсов by grep невозможна

 Вы о логах или трейсах? Трейсы в Java это отдельный мотив для суицида... :)

> ================================================================
> 
> Согласны ли Вы терять события в случае недоступности колектора логов или
> гранилища логов?

 Терять? Я согласен. У меня есть, например, распределённая (по паре городов)
 почтовая система, и сетевой коллектор логов. При проблемах с сетью, понятно,
 часть записей может быть потеряна при передаче, даже при высоком уровне
 резервирования межофисных каналов. Но меня это не волнует. Во-первых,
 есть ещё локальные хранилища логов на узлах, если что -- можно свериться
 с ними. Во-вторых, я уверен, что при недостатке каких-то фрагментов я это
 замечу. Ну и в третьих, необязательно заливать всё в хранилище на лету,
 если нужна полнота -- есть масса способов надёжно реплицировать данные
 по сети, пожертвовав риалтаймом. Но эти способы дороже простого риалтайма,
 и мне с ними заморачиваться не хочется.

> Я удивлен что "писатели" в Java мире такого не делают.

 В мире Java вообще сложилась такая культура программирования, что от этого
 мира я лично предпочитаю держаться подальше. Хотя никакой связи с тем, что
 пишется из программы в логи, здесь нет (если речь о логах, а не трейсах).
-- 
 Eugene Berdnikov


Reply to: