JavaRush
AI Academy
new
Акція
Університет
Java FullStack
Python FullStack
AI Native Developer
new
Навчання
Курси
Задачі
Опитування
Ігри
Допомога
Графік стусанів
Стажування
Спільнота
Користувачі
Форум
Чат
Статті
Історії успіху
Дії
Відгуки
Передплати
Світла тема

Лекції

  • Відгуки
  • Про нас
  • CS50
Почати
Почати навчання
Почати навчання
  • Моє навчання
  • Курси
  • Університет
  • Карта квестів
  • Лекції
  • Рівні логів і мінімальний Logger

    Kotlin SELF
    60 рівень, 0 лекція
    Розбираємося, чому багато println — це ще не логування; вводимо рівні DEBUG/ INFO/ WARN/ ERROR, поняття мінімального рівня ( minLevel) і збираємо мінімальний логер: enum class LogLevel, єдиний формат рядка timestamp [ LEVEL ] message, фільтрацію за важливістю (через ordinal або явний priority), методи-обгортки debug/ info/ warn/ error і типові помилки під час упровадження логування.
    Відкрита
  • Контекст логів: поля ключ‑значення та форматування

    Kotlin SELF
    60 рівень, 1 лекція
    Розбираємося, як перетворити «розрізнені рядки» на зрозумілі логи: додаємо контекст як пари key=value, зберігаємо його в Map<String, String>, форматуємо через joinToString(), вбудовуємо контекст в API логера ( Logger) і «склеюємо» події однієї операції за допомогою requestId. Наприкінці — практика на обробнику команди й список типових помилок.
    Відкрита
  • Винятки в логах

    Kotlin SELF
    60 рівень, 2 лекція
    Розбираємося, як логувати винятки так, щоб діагностика була швидкою й точною: чому недостатньо виводити лише e . message, навіщо потрібен stack trace і як зручно отримувати його через stackTraceToString(). Учимося розширювати Logger для Throwable, правильно «обгортати» помилки зі збереженням cause, визначати єдину межу відповідальності для логування й не дублювати один і той самий stack trace на кожному рівні. Наприкінці — нюанси читання stack trace і типові помилки.
    Відкрита
  • Метрики: таймінги та лічильники

    Kotlin SELF
    60 рівень, 3 лекція
    Розбираємо базову спостережуваність у консольному застосунку: чим метрики відрізняються від логів, як вимірювати тривалість операцій через measureTimeMillis, як не «розмазувати» таймери по всьому коду, як зібрати лічильники на MutableMap, узгодити імена ключів ( "command.add.total") і вбудувати таймінги та лічильники в обробку команд. Наприкінці — міні-звіт за метриками й список типових помилок.
    Відкрита
  • Шум і безпека логів: verbose, лінивий DEBUG і маскування

    Kotlin SELF
    60 рівень, 4 лекція
    Розбираємося, як зробити логи корисними, а не шумними: рівні DEBUG/ INFO/ WARN/ ERROR, перемикання деталізації через прапорець "--verbose" і вибір minLevel. Учимося писати лінивий debug (через лямбду), щоб не платити за формування повідомлень, коли рівень вимкнено. Також додаємо безпечний контекст key=value з автоматичним маскуванням секретів через maskSecret().
    Відкрита
Навчання
  • Курси програмування
  • Реєстрація
  • Курс Java
  • Допомога із задачами
  • Ціни
Спільнота
  • Користувачі
  • Статті
  • Форум
  • Чат
  • Історії успіху
  • Дії
Компанія
  • Про нас
  • Контакти
  • Відгуки
  • FAQ
  • Підтримка
JavaRush JavaRush — це інтерактивний онлайн-курс вивчення Java-програмування з нуля. Він містить 1200 практичних задач із перевіркою розв'язання одним клацанням, необхідний мінімум знань із теоретичних основ Java, а ще мотивувальні «фішки», які допоможуть пройти курс до кінця: ігри, опитування, цікаві проєкти й статті про ефективне навчання та кар'єру Java‑девелопера.
Підписуйтесь
Мова інтерфейсу
Русский English
Українська
Програмістами не народжуються © 2026 JavaRush
MastercardVisa
Програмістами не народжуються © 2026 JavaRush