Ответ
Источник логов зависит от компонента системы и окружения. Вот основные места и методы:
По источнику/компоненту:
| Компонент | Где искать логи | Пример команды/метода |
|---|---|---|
| Клиент (браузер) | Вкладка 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. | Поиск и агрегация по тегам, уровню, времени. |
Ключевые методы работы с логами в терминале:
tail— просмотр конца файла (по умолчанию 10 строк).# Просмотр последних 100 строк и мониторинг новых tail -n 100 -f /var/log/app/application.loggrep— поиск по шаблону.# Поиск всех ERROR за сегодня в конкретном файле grep "ERROR" /var/log/app/application.log | grep "$(date '+%Y-%m-%d')"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 — вот эта вся роскошь. | Там уже можно искать по тегам, времени и уровню "пиздец". Удобно, если серверов дохуя. |
А теперь, блядь, магия терминала, без которой ты ни хуя не сделаешь:
tail— чтобы смотреть, чем файл кончился.# Дай мне последние 100 строк и показывай, что нового пишут, сука tail -n 100 -f /var/log/app/application.loggrep— чтобы в этой куче говна найти свою иголку.# Найди мне все ERROR за сегодня, а то я, блядь, слепой grep "ERROR" /var/log/app/application.log | grep "$(date '+%Y-%m-%d')"less/more— когда файл такой большой, что глаза ебёт.less /var/log/syslog # В `less` нажми `/`, введи что ищешь, Enter — и вперёд.
И главный совет, чтобы не ебал мозг потом: настрой структурированные логи в JSON и загони всё в одну систему типа ELK-стека. Потом сидишь, пьёшь чай, а все логи со всех серваков у тебя в одном месте, как на ладони. Красота, ёпта!