Расходы на запись данных в журнал при различных конфигурациях могут отличаться, однако вычисление приоритета (LEVEL.INFO & etc) тоже является достаточно дорогой процедурой во время исполнения процесса.
Как же минимизировать расходы на вычислении приоритета?
Для этой задачи в log4j есть статические методы позволяющие выполнять вычисление приоритета:
• isEnabledFor(LEVEL.XXX);
• isDebugEnabled();
• isXXXEnabled() – где ХХХ приоритет (DEBUG, WARN & etc).
Кроме того вычисление некоторых подставных переменных выражения, при использовании PatternLayout так же могут снижать скорость выполнения записи в журнал. Согласно спецификации для класса PatternLayout это следующие переменные:
• %С – вычисление имени класса;
• %F – вычисление имени файла;
• %M – вычисление имени метода;
• %L – вычисление номера строки.
Как вариант эти данные можно вычислить самостоятельно и передать в теле сообщения.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment