Очень хороший обзор, но я бы добавил: 1. Не интерполируй данные в лог текст: разделяй все данные в отдельный лог контекст. 2. Обязательно implement поддержку для correlation id; чтобы отслеживать виртуальные threads. 3. Используйте позитивный logging, чтобы понять что происходит.
@@konstantin.kozlovskiy Positive Logging - это когда вы последовательно добавляете что было сделано, включая мельчайшие операции, результаты условий и любые действия. Когда просматривается лог, вы видите полную картину до мельчайших подробностей. Такие логи желательно включать в общий лог техт как отдельное предложение (аннотацию). Это же уменьшает количество логов, т.е. вы просто читаете один лог как телеграфную ленту о проделанной работе.
"есть логи которые не нужны в продакшене", - в том то и дело что никогда не знаешь какая именно инфа на продакшене тебе понадобится. Нормальное логирование сейчас это когда все логи подряд льются в консоль(в логах присутствует сквозной traceId), там их забирает стек логирвоания типа ELК, все это дело ораничивается скажем 1TB SSD(для фирмы стоит копейки), а дальше через веб морду типа графаны ты можешь глянуть что происхдило на проме во всех подробностях в любой момент времени(в приделах месячной давности), при этом все фильтруя как угодно. Единственное ограничение бывает, это когда сама запись в логах замедляет работу и следует ее поубавить, но обычно этого не просиходит так как приложение всеравно выводит логки в STDOUT(RAM) , а затем сбрщик асинхронно это дело забирает
В нашей системе генерируется около 400-500гб логов в день, держать логи в активном хранилище необходимо на протяжении 3 месяцев минимум, и это уже далеко не 1ТБ. В 99.9% случаев операции проходят штатно и не требуется в логах наблюдать детальную информацию, и только 0.01% требует разбора, где эта информация бы пригодилась. В таком случае (в рантайме, без перезагрузки) включаем debug, воспроизводим проблему и отключаем debug.
@@konstantin.kozlovskiy А если событие уже было, и ты не знаешь когда тебе включать дебаг? Ну то есть вот требуется разбор именно того самого события? У меня как-то был случай случайного списания с клиента пол мульта рублей, и поверь тогда нужны были все возможные данные которые только можно достать почему так произошло) Причем это был уникальный кейс который больше не повторялся, а связан он был с глюком оборудования
@@ryanlashkevich9615 в противном случае само приложение занимается логирвоанием, чего быть не должно, так как нефиг ему тратить ресурсы еще и на передачу логов куданить по сети
@@olegchumin6634у него опыт? Но надо ещё неплохо бы допускать мысль, что у кого-то тоже может быть опыт, а потому не выебываться и писать нормальный заголовок к видео.
Очень грустно что вы не допускаете мысли, что громкий заголовок это лишь способ привлечения внимания пользователя, и такими заголовками пестрит весь интернет, если именно он привлек вас в комментарии к этому видео - значит это работает
На проде не только логи не нужны лишние, но и трейсы могут сильно заспамить. А еще много чего в виде стартера добавляют в подключаемые библиотеки, а между тем там пару артефактов конкретных надо, а не весь зверинец и такая проблема есть повсеместно. Бывает два три стартера друг друга перекрывают, но разбираться, в этом всем лень.
Вот мне попался ролик "вы пишете логи неправильно". Если честно, моя первая реакция "да кем ты себя возомнил". Смотреть видео уже нет никакого желания, слишком высокомерное отношение к людям.
Какой бы контент не был интересным, есть ряд характеристик у видео, которое влияет на количество показов в ленте рекомендаций, в настоящий момент каждый автор прилагает все возможные усилия для продвижения своего контента, к сожалению такие обложки работают)
хочется отметить стремление автора к грамотному написанию. и картиночка поправлена и название ролика. но теперь красный крест в превью собаки погрызли. нижняя правая часть куда-то делась. ну ничего. может станет не всё равно когда-нибудь и сделает как положено. (ролик естественно без просмотра)
Вы неправильно видео снимаете. Люди с айкью 1, которым оно адресовано, не пишут бэкенд приложения. Где хотя бы объяснения ПОЧЕМУ не писать в инфо все что хочешь? Ноль пользы
Очень хороший обзор, но я бы добавил: 1. Не интерполируй данные в лог текст: разделяй все данные в отдельный лог контекст. 2. Обязательно implement поддержку для correlation id; чтобы отслеживать виртуальные threads. 3. Используйте позитивный logging, чтобы понять что происходит.
Позитивный логгинг? Что это:)
@@konstantin.kozlovskiy Positive Logging - это когда вы последовательно добавляете что было сделано, включая мельчайшие операции, результаты условий и любые действия. Когда просматривается лог, вы видите полную картину до мельчайших подробностей. Такие логи желательно включать в общий лог техт как отдельное предложение (аннотацию). Это же уменьшает количество логов, т.е. вы просто читаете один лог как телеграфную ленту о проделанной работе.
"есть логи которые не нужны в продакшене", - в том то и дело что никогда не знаешь какая именно инфа на продакшене тебе понадобится. Нормальное логирование сейчас это когда все логи подряд льются в консоль(в логах присутствует сквозной traceId), там их забирает стек логирвоания типа ELК, все это дело ораничивается скажем 1TB SSD(для фирмы стоит копейки), а дальше через веб морду типа графаны ты можешь глянуть что происхдило на проме во всех подробностях в любой момент времени(в приделах месячной давности), при этом все фильтруя как угодно. Единственное ограничение бывает, это когда сама запись в логах замедляет работу и следует ее поубавить, но обычно этого не просиходит так как приложение всеравно выводит логки в STDOUT(RAM) , а затем сбрщик асинхронно это дело забирает
В нашей системе генерируется около 400-500гб логов в день, держать логи в активном хранилище необходимо на протяжении 3 месяцев минимум, и это уже далеко не 1ТБ. В 99.9% случаев операции проходят штатно и не требуется в логах наблюдать детальную информацию, и только 0.01% требует разбора, где эта информация бы пригодилась. В таком случае (в рантайме, без перезагрузки) включаем debug, воспроизводим проблему и отключаем debug.
@@konstantin.kozlovskiy А если событие уже было, и ты не знаешь когда тебе включать дебаг? Ну то есть вот требуется разбор именно того самого события? У меня как-то был случай случайного списания с клиента пол мульта рублей, и поверь тогда нужны были все возможные данные которые только можно достать почему так произошло) Причем это был уникальный кейс который больше не повторялся, а связан он был с глюком оборудования
"Нормальное логирование сейчас это когда все логи подряд льются в консоль" - абсолютно дилетантское утверждение.
вероятно в таком случае не помогли бы никакие логи :)
@@ryanlashkevich9615 в противном случае само приложение занимается логирвоанием, чего быть не должно, так как нефиг ему тратить ресурсы еще и на передачу логов куданить по сети
Константин так рассказывает, будто он сам читает наши логи и уже устал от того, как мы плохо логируем 😂
Не у него опыт, и там дай боже каждому выдержать это все. А говорит по делу.
@@olegchumin6634у него опыт? Но надо ещё неплохо бы допускать мысль, что у кого-то тоже может быть опыт, а потому не выебываться и писать нормальный заголовок к видео.
Очень грустно что вы не допускаете мысли, что громкий заголовок это лишь способ привлечения внимания пользователя, и такими заголовками пестрит весь интернет, если именно он привлек вас в комментарии к этому видео - значит это работает
О, это камень в лицо разработчиков Trassir
Спасибо, очень полезно
На проде не только логи не нужны лишние, но и трейсы могут сильно заспамить. А еще много чего в виде стартера добавляют в подключаемые библиотеки, а между тем там пару артефактов конкретных надо, а не весь зверинец и такая проблема есть повсеместно. Бывает два три стартера друг друга перекрывают, но разбираться, в этом всем лень.
Давно не виделись 🎉
привет =))
Логирование для разных случаев делается по разному...
А Вы пишете "пишите" неправильно.
спасибо, исправил =))
Едите, пишите, думайте головой.
Вот мне попался ролик "вы пишете логи неправильно". Если честно, моя первая реакция "да кем ты себя возомнил". Смотреть видео уже нет никакого желания, слишком высокомерное отношение к людям.
ничего личного, это лишь один из многих механизмов привлечения внимания пользователя
@@konstantin.kozlovskiy а зачем? Интересный контент не нуждается в клик бейтах.
Какой бы контент не был интересным, есть ряд характеристик у видео, которое влияет на количество показов в ленте рекомендаций, в настоящий момент каждый автор прилагает все возможные усилия для продвижения своего контента, к сожалению такие обложки работают)
хочется отметить стремление автора к грамотному написанию. и картиночка поправлена и название ролика. но теперь красный крест в превью собаки погрызли. нижняя правая часть куда-то делась. ну ничего. может станет не всё равно когда-нибудь и сделает как положено. (ролик естественно без просмотра)
а вы очень наблюдательны, спасибо)
Вы неправильно видео снимаете. Люди с айкью 1, которым оно адресовано, не пишут бэкенд приложения. Где хотя бы объяснения ПОЧЕМУ не писать в инфо все что хочешь? Ноль пользы
в видео довольно четко описано что обилие инфо логов с бесполезной информацией забивает жесткие диски системы логирования, куда они отгружаются