powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как и что вы логируете ?
25 сообщений из 55, страница 1 из 3
Как и что вы логируете ?
    #39300793
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день .

Собственно интересует сама методология , ваш подход , как вы определяете уровни логирования , в какой момент и как пишите в лог итд ...

Насколько детально ваш код покрыт логами (на 100 строк бизнес кода) итд ...
...
Рейтинг: 0 / 0
Как и что вы логируете ?
    #39300819
scf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1,

Сильно зависит от нагрузки. Если приложение рассчитано на 50+ запросов в секунду, особо не пологгируешь.
...
Рейтинг: 0 / 0
Как и что вы логируете ?
    #39300844
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1Собственно интересует сама методология , ваш подход , как вы определяете уровни логирования , в какой момент и как пишите в лог итд ...
Насколько детально ваш код покрыт логами (на 100 строк бизнес кода) итд ...
TRACE - уровень на котором выводится полная информация о данных. Дампы запросов, объектов, XML и т.п.
DEBUG - уровень анализа - покрывает ВСЕ ветвления кода, чтобы по логу было видно весь сценарий по которому работала программа.
INFO - менее детальный аналог DEBUG - покрывает наиболее критичные изменения состояния системы.
WARN - подозрительные ситуации, которые не критичны для отработки сценария, но которые не ожидаются при штатной работе системы.
ERROR - все сбои
FATAL - критичные сбои при которых дальнейшая работа системы не возможна. В принципе особой пользы в этом уровне нет, можно и в ERROR логировать.
...
Рейтинг: 0 / 0
Как и что вы логируете ?
    #39300845
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scfСильно зависит от нагрузки. Если приложение рассчитано на 50+ запросов в секунду, особо не пологгируешь.
Ерунда.
...
Рейтинг: 0 / 0
Как и что вы логируете ?
    #39300851
scf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

Вы это, мысль раскройте пошире. 50 запросов в секунду по 1 кб на запрос - это 4 гига логов в сутки. А нагрузки бывают и выше, а системы бывают и микросервисные, и каждый микросервис должен что-то логгировать. Так что логгирование приходится вести очень аккуратно. У вас какой-то другой опыт?
...
Рейтинг: 0 / 0
Как и что вы логируете ?
    #39300853
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scfВы это, мысль раскройте пошире.
Взаимно.

scf50 запросов в секунду по 1 кб на запрос - это 4 гига логов в сутки.
У вас фиксированое количество логов на каждый запрос?

scfА нагрузки бывают и выше, а системы бывают и микросервисные, и каждый микросервис должен что-то логгировать. Так что логгирование приходится вести очень аккуратно. У вас какой-то другой опыт?
Бывает. А бывает и кластер игрового сервера с тысячами клиентов онлайн. И логируется не только работа сервера, но и GC лог включен.

Ну, и 4 гига это же фигня в наше время. Недельный лог вполне можно хранить. А если ещё и про компресиию вспомнить, то и вообще за месяц можно собрать данные
...
Рейтинг: 0 / 0
Как и что вы логируете ?
    #39300861
scf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

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

С хранением все немного сложнее, т.к. логи не хранятся мертвым грузом. Они парсятся, индексируются и складываются в централизованное хранилище, их анализирует алертинг, по ним строятся всякие-разные графики.

У нас используется такая классификация логов:
- трассировка (по умолчанию выключена)
- отладочные (включены только local/dev)
- сетевые (логгирование запроса и ответа)
- аудит (логгирование действий пользователя, имеющих смысл для аудита)
- инфо (большая часть их не относится к индивидуальным запросам, скорее они обозначают изменение состояние приложения - т.е. запуск и какие-то перенастройки)
- неинтересные/ожидаемые ошибки (ошибки валидации входных данных, некоторые сетевые ошибки) - т.е. формально ошибки, но они никому не интересны, разве что в виде статистики
- внезапные ошибки (типичный пример - NPE)
- ошибки, требующие внимания системного администратора
- ошибки, требующие немедленного внимания системного администратора

Уровни логгирования тут важны постольку-поскольку - главное, чтобы нужные категории логов было удобно фильтровать по уровню логгирования + чтобы парсер мог уверенно различать разные типы логов.

Вообще, я повторюсь, тут можно на целую статью материала накатать.
...
Рейтинг: 0 / 0
Как и что вы логируете ?
    #39300881
no56892
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наиболее встречающийся вариант:
1.При создании класса и на начальном этапе все прямо правильно логгер даже заинжектен, все как надо.
2.В процессе разработки/отладки добавляется System.out.println()
3.Вроде бы отлажено и сделано, ну надо логи добавить - такыются везде info "на отвали".
4.Вроде как-то работает криво, в лог пишется какая-то каша, обычно лог открывают далее Ctrl+F Exception.
5.Если размер лога покажется большим, его тупо удаляют.
Вот как-то так)))
...
Рейтинг: 0 / 0
Как и что вы логируете ?
    #39300886
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
no56892такыются везде info "на отвали".
жизненно
))
...
Рейтинг: 0 / 0
Как и что вы логируете ?
    #39301084
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczAtum1Собственно интересует сама методология , ваш подход , как вы определяете уровни логирования , в какой момент и как пишите в лог итд ...
Насколько детально ваш код покрыт логами (на 100 строк бизнес кода) итд ...
TRACE - уровень на котором выводится полная информация о данных. Дампы запросов, объектов, XML и т.п.
DEBUG - уровень анализа - покрывает ВСЕ ветвления кода, чтобы по логу было видно весь сценарий по которому работала программа.
INFO - менее детальный аналог DEBUG - покрывает наиболее критичные изменения состояния системы.
WARN - подозрительные ситуации, которые не критичны для отработки сценария, но которые не ожидаются при штатной работе системы.
ERROR - все сбои
FATAL - критичные сбои при которых дальнейшая работа системы не возможна. В принципе особой пользы в этом уровне нет, можно и в ERROR логировать.

Это я понимаю .

Вопрос немного о другом - как вы определите в своем коде нужна в этой строке строка с логгером и какого уровня.

Не после каждой же строки писать вывод в лог?

Если ли какой-то документ разработанный внутри вашей команды программистов - как покрывать код логами .


чтобы открыв люобй файл с кодом вы увидели достаточно ли там логов или нет ...


к тому же логгеры в коде - достаточно мусорный код получается ?! можно и через аспекты все логировать .
...
Рейтинг: 0 / 0
Как и что вы логируете ?
    #39301092
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scfBlazkowicz,

Вы это, мысль раскройте пошире. 50 запросов в секунду по 1 кб на запрос - это 4 гига логов в сутки. А нагрузки бывают и выше, а системы бывают и микросервисные, и каждый микросервис должен что-то логгировать. Так что логгирование приходится вести очень аккуратно. У вас какой-то другой опыт?

вот тут они логируют любое движение курсора - потому хотят понять по нему о чем думал пользователь ...

https://habrahabr.ru/company/badoo/blog/280606/

ИМХО это перегиб.
...
Рейтинг: 0 / 0
Как и что вы логируете ?
    #39301122
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1вот тут они логируют любое движение курсора - потому хотят понять по нему о чем думал пользователь ...

https://habrahabr.ru/company/badoo/blog/280606/

ИМХО это перегиб.

Статью не читал. Но по поводу перегиба - смотря для чего. Если on-line игры, то могут пытаться ботов вычислять. Поиск ботов, я так понимаю, одна из основных задач в on-line игровом бизнесе, дабы бото-воды монитизацию сжирают.
...
Рейтинг: 0 / 0
Как и что вы логируете ?
    #39301165
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1,
на такой вопрос тебе никто не ответит.
Увы.
...
Рейтинг: 0 / 0
Как и что вы логируете ?
    #39301166
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1,
вот тебе привели - жизнь ))
19610928
...
Рейтинг: 0 / 0
Как и что вы логируете ?
    #39301168
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1,
как вариант:
- если программист хороший, то он вслепую, без логов что объект создан....пишет код.
И заполняет только Error...try
А дальше - требования компании. Не знаю, скрин кто выложит тут или нет).
...
Рейтинг: 0 / 0
Как и что вы логируете ?
    #39301226
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

Это да ...

В одном из проектов :
Я логи убрал в Аспекты - получилось всё завернуто в логи - каждый метод и каждый параметр таким образом ...

уровень так же проставляется - код чистый итд ...

если NPE - или ошибка в критической секции - то сразу , но асинхронно письмо на саппорт что там то и там то ошибка
и стек трейс всем разработчикам полная инфа в письме + сразу в редмайне таск открывается .
...
Рейтинг: 0 / 0
Как и что вы логируете ?
    #39301235
no56892
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1Petro123,

Это да ...

В одном из проектов :
Я логи убрал в Аспекты - получилось всё завернуто в логи - каждый метод и каждый параметр таким образом ...

уровень так же проставляется - код чистый итд ...

если NPE - или ошибка в критической секции - то сразу , но асинхронно письмо на саппорт что там то и там то ошибка
и стек трейс всем разработчикам полная инфа в письме + сразу в редмайне таск открывается .
Потом тригерится событие на автофиксинг, заливается в репозиторий оттуда континус интегрэйшн прогоняет тесты и выкладывает на прод.
...
Рейтинг: 0 / 0
Как и что вы логируете ?
    #39301275
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
no56892,

+ ДА есть дженкинс который все это собирает - прогоняя 100500 тестов ,

если все ок - то пакует все в докер (docker) и выкладывает в Хаб откуда это берут и разливают по серверам ...

но это история не про логирование .

Мне интересно методология логирования :)

кроме

Petro123вот тебе привели - жизнь ))
19610928

в инете нет достойных статей - все на интуиции и на совести разработчика ...
...
Рейтинг: 0 / 0
Как и что вы логируете ?
    #39301287
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scfAtum1,

Сильно зависит от нагрузки. Если приложение рассчитано на 50+ запросов в секунду, особо не пологгируешь.

как то раз мы обнаружили, что нас досят, как раз потому что место кончилось - все логами забилось :)
...
Рейтинг: 0 / 0
Как и что вы логируете ?
    #39301304
no56892
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторСильно зависит от нагрузки. Если приложение рассчитано на 50+ запросов в секунду, особо не пологгируешь.
Async logging на другой комп.
...
Рейтинг: 0 / 0
Как и что вы логируете ?
    #39301315
scf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
no56892,

другой комп тоже не резиновый. А так да, в приличном обществе принято логгировать на отдельный примонтированный раздел, чтобы ОС не страдала от нехватки места если что.
...
Рейтинг: 0 / 0
Как и что вы логируете ?
    #39301320
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1Собственно интересует сама методология , ваш подход , как вы определяете уровни логирования , в какой момент и как пишите в лог итд ...

Насколько детально ваш код покрыт логами (на 100 строк бизнес кода) итд ...

Всё это - вопрос вкуса.
Уровни- на тестовом сервере и локально включен debug, на продакшн- info.
Обычно влючать весь trace опасно- завалит нафиг, надо включать для конкретных потоков.

На error логи обычно вешается что-нибудь вроде sentry, которая позволяет не проморгать проблемы. Плюс в zabbix. На интеграционных тестах это повод считать тест заваленным.

Вот что делать с warn не очень понятно. На проде никто читать это не будет, на тесте и локально- не увидишь. Тут, честно, я в замешательстые. Разве что так же в sentry пихать (и НЕ пихать в zabbix).

В дойч-банке (по крайней мере в high-load части) есть традиция писать только info и debug. Я работал в группе, где такое внедрили. Неудобно.
...
Рейтинг: 0 / 0
Как и что вы логируете ?
    #39301414
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1к тому же логгеры в коде - достаточно мусорный код получается ?! можно и через аспекты все логировать .Вы неправильно подходите к протоколированию.
Есть две задачи - аудит и собственно протоколирование.
Аудит не знаю, а протоколирование это замена отладчика, т.к. рано или поздно возникнет ситуация, когда ничего, кроме лога у вас просто не будет, а "на тесте" или/и "под отладчиком" проблема не воспроизведётся.
Соответственно, протоколировать надо так, чтобы читая лог вы понимали что происходило в системе.
Как минимум, протоколироваться должны все сомнительные места и так, чтобы расхождение реального поведения с ожидаемым вызывало запись нужного вам уровня.
...
Рейтинг: 0 / 0
Как и что вы логируете ?
    #39301419
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey TominВот что делать с warn не очень понятноНа самом деле, ещё notice не хватает На проде никто читать это не будетЕсли всякую фигню пихать - да, поэтому в предупреждениях должна быть информация к размышлению для админа.
...
Рейтинг: 0 / 0
Как и что вы логируете ?
    #39301437
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovAtum1к тому же логгеры в коде - достаточно мусорный код получается ?! можно и через аспекты все логировать .Вы неправильно подходите к протоколированию.
Есть две задачи - аудит и собственно протоколирование.
Аудит не знаю, а протоколирование это замена отладчика, т.к. рано или поздно возникнет ситуация, когда ничего, кроме лога у вас просто не будет, а "на тесте" или/и "под отладчиком" проблема не воспроизведётся.
Соответственно, протоколировать надо так, чтобы читая лог вы понимали что происходило в системе.
Как минимум, протоколироваться должны все сомнительные места и так, чтобы расхождение реального поведения с ожидаемым вызывало запись нужного вам уровня.
+1 лучше и не скажешь.
...
Рейтинг: 0 / 0
25 сообщений из 55, страница 1 из 3
Форумы / Java [игнор отключен] [закрыт для гостей] / Как и что вы логируете ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]