Пишем тысячи лог файлов одновременно

от автора

Привет, Товарищи!

Что будет, если в приложении Spring Boot выставить logging.level.root=TRACE?

Все логи будут записаны в один файл, в котором будет куча-мала из классов.

В лучшем случае, с помощью sifting appender можно разделить максимум по 1 критерию ("дискриминатору") — например по имени потока или по имени класса. И даже при этом — будет существовать записимость от исходного кода, который должен поддерживать значания дискриминатора в "MDC".

Стоп, стоп, стоп! Убираем logback, добавляем Бобину — и вот такой нехитрой конфигурацией пишем в отдельные лог файлы для каждого класса и уровня логирования — да ещё и в отдельные директории:

Bobbin.yml

destinations:   - name: io.infinite.bobbin.config.FileDestinationConfig     fileName: ("./LOGS/INFINITE/${className}/${level}/${className}_${level}_${date}.log")

И вот что получается:

А теперь представьте, что вы просите SRE коллегу:

- Пришли мне пожалуйста лог класса org.visa.api.Transfer - Но там же номера карт? - Только ERROR лог - Ок! Сейчас будет.

Конечно, концептуально всё устремляется в сторону ELK (ну или splunk или grafana). Но он не везде настроен ещё — и старые-добрые лог файлы всё ещё довольно часто актуальны.

Но мы считаем, что нужно идти от частного к общему — умея делать такие трюки как выше, Бобина даст фору любому логгеру и в облачной среде. Ведь всё упирается в гибкость и простоту настройки.

Мы записали видео, демонстрирующее этот пример полностью, и показывающий работу Бобины в динамике:

Приятного просмотра!

Требуется: Java 8 или 11, Gradle
Ссылка на демо репозиторий: https://github.com/INFINITE-TECHNOLOGY/DAVID_DEMO_PLUGINS

Сейчас мы наблюдаем массовый наплыв новых пользователей (и во многом благодаря Хабру — спасибо Вам!). Похоже, что в 2020 Бобина станет одним из самых популярных логгеров. Уже точно ясно что она станет в один ряд с logback и log4j2. В наших ближайших планах расширение API — а именно, поддержка Google Flogger.

Если вдруг вы ещё не пробовали — добавьте её в Ваши Gradle или Maven проекты:
https://github.com/INFINITE-TECHNOLOGY/BOBBIN

Перед нашими глазами рождается история — зарождение Open Source организации нового типа.
И атлант уже расправляет плечи.

Всех Благ!

ссылка на оригинал статьи https://habr.com/ru/post/490938/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *