Реальное время для логирования диагностики или как по-настоящему следить за вашими Go веб-приложениями
Логирование часто рассматривают как пассивный процесс: что-то записывается в файл, а вы потом когда-нибудь это прочтёте. Но иногда вам нужно видеть, что происходит прямо сейчас.
Рассматриваем, как можно настроить в Go веб-приложении потоковое диагностическое логирование в реальном времени без особых накладных расходов.
Идея простая: вы создаёте отдельный HTTP-эндпоинт, который отправляет новые логи по WebSocket-соединению клиенту. Таким образом, вы можете открыть специальную страницу в браузере и наблюдать за логами в реальном времени, как будто это встроенный "tail -f" прямо в ваше приложение.
В статье описывается:
- Как настроить логгер на основе стандартного log пакета; - Как использовать github.com/gorilla/websocket для работы с WebSocket-соединением; - Как обрабатывать несколько клиентов; - Как фильтровать события логирования по уровню; - Как сделать базовую аутентификацию для безопасного доступа к логам.
Это решение особенно полезно для отладки в staging-средах или для временного мониторинга продакшн-серверов, когда нужно быстро понять, что происходит.
Полный код решения можно интегрировать в существующее приложение буквально за несколько файлов, а настроить всего за пару часов.
Реальное время для логирования диагностики или как по-настоящему следить за вашими Go веб-приложениями
Логирование часто рассматривают как пассивный процесс: что-то записывается в файл, а вы потом когда-нибудь это прочтёте. Но иногда вам нужно видеть, что происходит прямо сейчас.
Рассматриваем, как можно настроить в Go веб-приложении потоковое диагностическое логирование в реальном времени без особых накладных расходов.
Идея простая: вы создаёте отдельный HTTP-эндпоинт, который отправляет новые логи по WebSocket-соединению клиенту. Таким образом, вы можете открыть специальную страницу в браузере и наблюдать за логами в реальном времени, как будто это встроенный "tail -f" прямо в ваше приложение.
В статье описывается:
- Как настроить логгер на основе стандартного log пакета; - Как использовать github.com/gorilla/websocket для работы с WebSocket-соединением; - Как обрабатывать несколько клиентов; - Как фильтровать события логирования по уровню; - Как сделать базовую аутентификацию для безопасного доступа к логам.
Это решение особенно полезно для отладки в staging-средах или для временного мониторинга продакшн-серверов, когда нужно быстро понять, что происходит.
Полный код решения можно интегрировать в существующее приложение буквально за несколько файлов, а настроить всего за пару часов.
I have no inside knowledge of a potential stock listing of the popular anti-Whatsapp messaging app, Telegram. But I know this much, judging by most people I talk to, especially crypto investors, if Telegram ever went public, people would gobble it up. I know I would. I’m waiting for it. So is Sergei Sergienko, who claims he owns $800,000 of Telegram’s pre-initial coin offering (ICO) tokens. “If Telegram does a SPAC IPO, there would be demand for this issue. It would probably outstrip the interest we saw during the ICO. Why? Because as of right now Telegram looks like a liberal application that can accept anyone - right after WhatsApp and others have turn on the censorship,” he says.
How to Use Bitcoin?
n the U.S. people generally use Bitcoin as an alternative investment, helping diversify a portfolio apart from stocks and bonds. You can also use Bitcoin to make purchases, but the number of vendors that accept the cryptocurrency is still limited. Big companies that accept Bitcoin include Overstock, AT&T and Twitch. You may also find that some small local retailers or certain websites take Bitcoin, but you’ll have to do some digging. That said, PayPal has announced that it will enable cryptocurrency as a funding source for purchases this year, financing purchases by automatically converting crypto holdings to fiat currency for users. “They have 346 million users and they’re connected to 26 million merchants,” says Spencer Montgomery, founder of Uinta Crypto Consulting. “It’s huge.”