News Grower

Независимое покрытие AI, стартапов и технологий.

Логгер — это не про скорость: что действительно важно в дизайне

Когда логирование попадает в реальную систему, довольно быстро становится понятно, что это не про API и не про удобство вызова. Это про постоянный компромисс. С одной стороны, хочется, чтобы система работала максимально быстро: любое логирование — это накладные ...

Логгер — это не про скорость: что действительно важно в дизайне

Когда логирование попадает в реальную систему, довольно быстро становится понятно, что это не про API и не про удобство вызова. Это про постоянный компромисс. С одной стороны, хочется, чтобы система работала максимально быстро: любое логирование — это накладные расходы, и в нормальном режиме его стараются минимизировать. С другой стороны, как только возникает проблема, внезапно оказывается, что либо логов недостаточно, либо они есть, но в таком виде, что восстановить картину происходящего невозможно. В этот момент становится очевидно, что задача логгера — не просто «писать строки» максимально быстро, а помогать удерживать баланс между производительностью и диагностируемостью.Первая проблема, которая всплывает практически сразу, связана не со скоростью, а со структурой. Лог начинает отражать структуру кода, а не структуру происходящего. Есть бизнес‑логика, есть библиотеки, есть множество параллельных операций, и каждая из них пишет что‑то своё. В итоге лог превращается в поток сообщений, где перемешаны разные задачи, и вместо «обработки конкретного запроса» мы видим просто последовательность вызовов. На небольшом проекте это ещё можно терпеть, но в серверной системе такая картина быстро становится непригодной для анализа.Естественное желание — привязать лог не к месту вызова, а к самой задаче. Самый прямой путь — передавать контекст через параметры (например, инстанс логгера), но довольно быстро это начинает протекать через весь код и превращается в обязательный шум в сигнатурах. Гораздо более устойчивый подход — привязать контекст к потоку выполнения. В библиотеке logme это делается через thread channel:

Связанные теги

Компании и люди

Линия сюжета

Продолжить следить за темой

Переходите к связанным материалам, страницам сущностей и активным линиям сюжета.

Зачем конструктору опросов свой MCP-сервер (и почему мы не жалеем)

Зачем конструктору опросов свой MCP-сервер (и почему мы не жалеем)

Привет, Хабр. Меня зовут Дима, я делаю WebAsk — конструктор опросов, исследований и тестов. Четыре года назад я писал тут про тотализатор на коленке, спагетти-код из 5000 строк ...

[Перевод] ИИ-бенчмарки больше не работают. И вот что с этим делать

[Перевод] ИИ-бенчмарки больше не работают. И вот что с этим делать

Синтетические тесты в вакууме не показывают реальной пользы нейросетей. Индустрии пора переходить на метрики, где во главе угла стоят люди и жизненный контекст

Кратко о CVSS: как оценивать критичность уязвимостей

Разбираем Common Vulnerability Scoring System – что скрывается за цифрой от 0 до 10, как читать базовые, временные и контекстные метрики, и где искать актуальную информацию об у...

Все, что известно о GeForce RTX 6000: разбираем утечки характеристик, сроки выхода и цены

Все, что известно о GeForce RTX 6000: разбираем утечки характеристик, сроки выхода и цены

Серия RTX 5000 на архитектуре Blackwell едва успела обосноваться на рынке, а вокруг следующего поколения уже вовсю кипят страсти. Недавно ютуб-канал Red Gaming Tech опубликовал ...

Организация как Код: как описывать подразделения как исполнимые сервисные контракты

Организация как Код: как описывать подразделения как исполнимые сервисные контракты

В большинстве компаний подразделение до сих пор описывается двумя способами. Первый — оргсхема, где есть прямоугольник с названием отдела и стрелками подчинённости. Второй — пол...

Рекламный слот

Встроенный блок в статье

Зарезервированный партнерский слот для релевантных инструментов, сервисов и аккуратных редакционных интеграций.

Партнерский слот

Похожие статьи

Еще материалы, которые пересекаются по тегам, источнику или категории.

Зачем конструктору опросов свой MCP-сервер (и почему мы не жалеем)

Зачем конструктору опросов свой MCP-сервер (и почему мы не жалеем)

Привет, Хабр. Меня зовут Дима, я делаю WebAsk — конструктор опросов, исследований и тестов. Четыре года назад я писал тут про тотализатор на коленке, спагетти-код из 5000 строк ...

[Перевод] ИИ-бенчмарки больше не работают. И вот что с этим делать

[Перевод] ИИ-бенчмарки больше не работают. И вот что с этим делать

Синтетические тесты в вакууме не показывают реальной пользы нейросетей. Индустрии пора переходить на метрики, где во главе угла стоят люди и жизненный контекст

Кратко о CVSS: как оценивать критичность уязвимостей

Разбираем Common Vulnerability Scoring System – что скрывается за цифрой от 0 до 10, как читать базовые, временные и контекстные метрики, и где искать актуальную информацию об у...

Еще материалы от Habr

Свежие публикации и продолжение темы от той же редакции.

Открыть страницу источника
Я делаю «Стачку» 15 лет. Вот что я понял про конференции и разработчиков

Я делаю «Стачку» 15 лет. Вот что я понял про конференции и разработчиков

Меня зовут Камиль Калимуллин, я основатель AdvantShop и один из учредителей IT-конференции «Стачка». В апреле мы проводим юбилейную, 15-ю конференцию в Ульяновске.Я хочу рассказ...

Зачем конструктору опросов свой MCP-сервер (и почему мы не жалеем)

Зачем конструктору опросов свой MCP-сервер (и почему мы не жалеем)

Привет, Хабр. Меня зовут Дима, я делаю WebAsk — конструктор опросов, исследований и тестов. Четыре года назад я писал тут про тотализатор на коленке, спагетти-код из 5000 строк ...

[Перевод] ИИ-бенчмарки больше не работают. И вот что с этим делать

[Перевод] ИИ-бенчмарки больше не работают. И вот что с этим делать

Синтетические тесты в вакууме не показывают реальной пользы нейросетей. Индустрии пора переходить на метрики, где во главе угла стоят люди и жизненный контекст