Рівні логування

Привіт друзі, сподіваюсь, ви всі в безпеці! Почав писати один пост про логи, що дуже мене хвилює. І зрозумів, що тем в ньому є більше, ніж на один допис. Тому вирішив почати з основ – новачкам корисно, досвідченим тестерам – гарно повторити

Всі ми маємо вміти робити root cause analysis 🕵️‍♂️ – шукати причини багу. І це дуже швидко приводить нас до читання логів – в консолі браузера, в терміналі сервера, в інтерфейсі Kibana чи інших системах моніторингу.

Варто розуміти, що створюючи продукт, розробники додають логи, щоб легше було зрозуміти, чи програма працює правильно, а якщо ні – то де саме?

А щоб логи розрізняти по важливості, для кожного запису вказують рівень. Типово (значить, може бути більше чи менше), у більшості програм, їх 5:
🟣 Trace – найнижчий рівень. частіше за все – інформація чисто для розуміння, чи викликається в програмі певний код
🔵 Debug – технічна інформація – id, значення змінних в коді. Все, що може знадобитись для debug’у
🟢 Info – високорівнева інформація. Сюди пишуть про роботу окремих фіч програми: “користувач user1 купив товар id=12345”
🟠 Waring – позаштатна ситуація. Ще не помилка, але варто звернути увагу, за яких умов залогований коди викликався
🔴 Error – найвищий рівень. Явна помилка. Тут пишуть, що сталось + часто додають stack trace – інформацію, необхідну розробникам, щоб знайти місце в коді, де вона сталась

Записи в лозі не просто розділяють по рівням – коли система працює штатно, щоб зменшити кількість логів, адміністратори чи девопси обмежуть логи рівнем Info – тобто логується лише Info + Waring + Error. Поточний рівень логування приховує всі нижчі рівні. Можна навіть виставити його в Error і шукати тільки помилки!
А коли помилку побачили – можна змінити рівень і переглянути Trace та Debug інформацію, щоб визначити причини.

Напишіть, як часто вам доводиться копирсатись в логах?

12 Грудня 2022
Автор: 
  • Божественно поганий UX
  • Готуйтесь до релізу заздалегідь
  • Телескоп
  • Туторіал з WebDriverIO

Залишити коментар

Залишити вiдгук