Безопасное ведение журнала в Java

У меня (вероятно) странный вопрос о безопасном входе в систему в Java.

Допустим, у меня есть этот код в Java:

      if (log.isDebugEnabled())
{
    log.debug(...expression...);
}

Существует ли передовая практика ведения журналатаким образом, чтобы любое исключение во время оценки не приводило к сбою моего приложения?

Например, я бы хотел, чтобы этот код не нарушал работу моего приложения:

      if (log.isDebugEnabled())
{
    log.debug("a divided by b is " + (a/b)); // throws an exception if b is zero
}

Очевидно, я могу написать свою собственную оболочку, использующую лямбда-функцию (что-то вроде wrapperLog.debug(()->"a, разделенное на b, равно " + (a/b)); но я хотел бы знать, есть ли лучший вариант практика для подобных ситуаций.

1 ответ

В целях безопасности не регистрируйте выражения или результаты вызова метода. Регистрируйте только простые переменные: примитивные типы или типы компонентов, созданные вашей IDE; в последнем случае не звониtoString()явно.

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