Привет, Товарищи!
Что будет, если в приложении 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
Ссылка на демо репозиторий
Сейчас мы наблюдаем массовый наплыв новых пользователей (и во многом благодаря Хабру — спасибо Вам!). Похоже, что в 2020 Бобина
станет одним из самых популярных логгеров. Уже точно ясно что она станет в один ряд с logback
и log4j2
. В наших ближайших планах расширение API — а именно, поддержка Google Flogger
.
Если вдруг вы ещё не пробовали — добавьте её в Ваши Gradle или Maven проекты.
Перед нашими глазами рождается история — зарождение Open Source организации нового типа.
И атлант уже расправляет плечи.
Всех благ!
dporollo
Зачем трейсить то?
antonpryamostanov Автор
по хорошему — и не надо конечно.