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: