tg-me.com/golang_lib/470
Last Update:
Реальное время для логирования диагностики или как по-настоящему следить за вашими Go веб-приложениями
Логирование часто рассматривают как пассивный процесс: что-то записывается в файл, а вы потом когда-нибудь это прочтёте. Но иногда вам нужно видеть, что происходит прямо сейчас.
Рассматриваем, как можно настроить в Go веб-приложении потоковое диагностическое логирование в реальном времени без особых накладных расходов.
Идея простая: вы создаёте отдельный HTTP-эндпоинт, который отправляет новые логи по WebSocket-соединению клиенту. Таким образом, вы можете открыть специальную страницу в браузере и наблюдать за логами в реальном времени, как будто это встроенный "tail -f" прямо в ваше приложение.
В статье описывается:
- Как настроить логгер на основе стандартного log
пакета;
- Как использовать github.com/gorilla/websocket
для работы с WebSocket-соединением;
- Как обрабатывать несколько клиентов;
- Как фильтровать события логирования по уровню;
- Как сделать базовую аутентификацию для безопасного доступа к логам.
Это решение особенно полезно для отладки в staging-средах или для временного мониторинга продакшн-серверов, когда нужно быстро понять, что происходит.
Полный код решения можно интегрировать в существующее приложение буквально за несколько файлов, а настроить всего за пару часов.
https://evilmartians.com/chronicles/realtime-diagnostic-logging-or-how-to-really-spy-on-your-go-web-apps
👉 @golang_lib
BY Библиотека Go (Golang) разработчика

Share with your friend now:
tg-me.com/golang_lib/470