Где и как вы просматриваете логи приложения для отладки и анализа проблем?

Ответ

Источник логов зависит от компонента системы и окружения. Вот основные места и методы:

По источнику/компоненту:

Компонент Где искать логи Пример команды/метода
Клиент (браузер) Вкладка Console в DevTools (F12). Фильтрация по уровню Error, Warn.
Сетевые запросы Вкладка Network в DevTools. Анализ статусов (4xx, 5xx) и ответов сервера.
Сервер (Linux) Директория /var/log/. tail -f /var/log/nginx/error.log
Сервер (Windows) Event Viewer (Просмотр событий). Фильтр по источнику (Application, System).
Docker-контейнер Команда docker logs. docker logs -f --tail 50 <container_id>
Приложение (файл) Файлы логов в папке проекта (logs/, app.log). tail -f ./logs/application.log
Централизованные системы Kibana (Elastic Stack), Grafana, Sentry, CloudWatch. Поиск и агрегация по тегам, уровню, времени.

Ключевые методы работы с логами в терминале:

  1. tail — просмотр конца файла (по умолчанию 10 строк).
    # Просмотр последних 100 строк и мониторинг новых
    tail -n 100 -f /var/log/app/application.log
  2. grep — поиск по шаблону.
    # Поиск всех ERROR за сегодня в конкретном файле
    grep "ERROR" /var/log/app/application.log | grep "$(date '+%Y-%m-%d')"
  3. less / more — постраничный просмотр больших файлов.
    less /var/log/syslog
    # В `less` можно искать: нажать `/`, ввести текст, `Enter`.

Best Practice: Настройте структурированное логирование (JSON-формат) и используйте централизованную систему (например, ELK-стек) для сложных распределенных систем. Это позволяет агрегировать, искать и визуализировать логи со всех серверов и сервисов в одном месте.

Ответ 18+ 🔞

Да ты посмотри, какие распиздяйства творятся! Человек ошибку поймал, а где её искать — нихуя не понятно. Сидит, как дурак, и глазами хлопает. Ну ладно, разбираемся, где эта падла-ошибка могла спрятаться.

Смотри, откуда пиздец может вылезти:

От кого бардак Где его искать, этот срач Как выковыривать (примерно)
Браузер (клиент) Вкладка Console в этих самых DevTools (F12 жмёшь). Там фильтруй по Error и Warn — сразу вся муть всплывёт.
Запросы в сеть Вкладка Network там же. Смотри на статусы — если 4xx или 5xx, значит, сервер тебе вежливо послал нахуй или сам обосрался.
Сервер (Линукс) Обычно в /var/log/. Там этого добра — овердохуища. tail -f /var/log/nginx/error.log — и наблюдай, как он живёт и страдает в реальном времени.
Сервер (Винда) Event Viewer (Просмотр событий). Та ещё мартышлюшка, но искать можно. Фильтруй по источнику типа Application или System.
Docker-контейнер Команда docker logs. Проще некуда. docker logs -f --tail 50 <container_id> — и вот тебе последние 50 строк его предсмертной агонии.
Само приложение Файлы в папке проекта (logs/, app.log). tail -f ./logs/application.log — классика жанра.
Большие системы (ELK, Grafana) Kibana, Grafana, Sentry, CloudWatch — вот эта вся роскошь. Там уже можно искать по тегам, времени и уровню "пиздец". Удобно, если серверов дохуя.

А теперь, блядь, магия терминала, без которой ты ни хуя не сделаешь:

  1. tail — чтобы смотреть, чем файл кончился.
    # Дай мне последние 100 строк и показывай, что нового пишут, сука
    tail -n 100 -f /var/log/app/application.log
  2. grep — чтобы в этой куче говна найти свою иголку.
    # Найди мне все ERROR за сегодня, а то я, блядь, слепой
    grep "ERROR" /var/log/app/application.log | grep "$(date '+%Y-%m-%d')"
  3. less / more — когда файл такой большой, что глаза ебёт.
    less /var/log/syslog
    # В `less` нажми `/`, введи что ищешь, Enter — и вперёд.

И главный совет, чтобы не ебал мозг потом: настрой структурированные логи в JSON и загони всё в одну систему типа ELK-стека. Потом сидишь, пьёшь чай, а все логи со всех серваков у тебя в одном месте, как на ладони. Красота, ёпта!