Отслеживание выполнения метода с помощью журнала внутри метода - плохая практика?

В настоящее время я разрабатываю спокойный сервис с использованием Spring MVC.

Я читал, что ведение журнала - это перекрестный разрез, поэтому мне было интересно, не является ли плохой практикой иметь операторы журнала, такие как log.info("A variable value"), внутри методов фасада службы.

  • Должны ли мы удалить эти операторы журнала и поместить их в объект типа перехватчика, единственная ответственность которого - ведение журнала?

  • Заполнен ли метод сообщениями log.debug, в обязанности которых входит отслеживание неправильной практики выполнения метода? Если это так, как мы можем передать эту ответственность перехватчику, если перехватчик имеет доступ только к параметрам метода

  • Если мне нужно более информативное выполнение трассировки, как я могу этого добиться?

Ведение журнала полезно в коде для целей отладки. АОП не может полностью заменить ведение журнала внутри метода. Для журнала входа и выхода я предпочитаю АОП. Обычно я пишу аннотацию и совет Around, в котором регистрируются имя класса, имя метода и параметры при входе и возвращаемое значение (или трассировка стека исключений) на выходе. Это в значительной степени сокращает шаблон журнала. После этого потребуется минимальная регистрация.

Pratapi Hemant Patel 06.05.2018 00:48
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
1
85
2

Ответы 2

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

Это должен быть комментарий, а не ответ.

jaco0646 06.05.2018 03:01

это хоть ответ?

Kwright02 06.05.2018 03:03
  1. Если вы не понимаете, что делает метод, существует серьезная проблема, вы потеряли контроль над программным обеспечением.

  2. Бывают случаи, когда он необходим, но его следует удалить как можно скорее. Среди прочего, операторы журнала усложняют понимание кода, добавляя нелогический «шум».

  3. Методы должны быть достаточно небольшими, чтобы их можно было легко понять с небольшими усилиями, за некоторыми исключениями. См. «Дядюшка» Боба Мартина.

  4. Я был задействован в одном проекте, потому что производительность неуместна. Я решил эту проблему за день, это было ведение журнала, я удалил его, и производительность увеличилась более чем в 25 раз.

Другие вопросы по теме