jpoint JPoint 2016 (22.04.2016 — 23.04.2016)

What you need to know about logging to a pragmatic Java programmer

img

В работе профессиональных Java‑программистов такой аспект как логирование не представляется чем-то важным, значимым. И мы, пожалуй, в самую последнюю очередь задумываемся над тем, какую библиотеку для логирования использовать: решение принимается интуитивно и быстро, ведь весь фокус нашего внимания сосредоточен на драгоценной бизнес-логике, производительности и новомодных инструментах и подходах.

Ну правда, ну что интересного может быть в логировании? Это ведь просто чтобы не писать System.out.println(), да? Казалось бы, что может быть такого-эдакого в логировании?

Оказывается, что когда приложение начинает жить своей нормальной жизнью, а именно переходить из рук в руки программистов и тестеров, ломаться, чиниться, всячески падать и поддерживаться, а тем более когда оно начинает интегрироваться с другими подсистемами или апгрейдиться на новые версии библиотек, вот тут логирование и показывает своё истинное лицо и весело спрашивает: «Ну что, @#$%, не ждали?».

В своём докладе я расскажу, почему и как я переделывал логирование в десятках микросервисов, а также чему я научился в процессе этой работы.

Из доклада слушатель узнает, как сочетаются современные библиотеки логирования, как можно и нужно использовать логи и про возможные «нежданчики», которые могут случаться, например, в простейшей строке log.info("personalId="+id).