В моей команде у нас есть стандарт ведения журнала, и по большей части методы
Logger.log(Level, String, [Throwable])
работают нормально (он дает нам автоматическую метку времени, имя класса, имя метода, сообщение и информацию о метании вжурнал).Тем не менее, у нас есть дополнительный идентификатор, который мы регистрируем, и он является частью нашего стандарта (мы используем его для контроля журналов).
Моя проблема в том, что я хочу иметь возможность легко применять этот стандарт в довольнобезболезненно.Сначала мы создали класс-регистратор оболочки, но проблема в том, что вы теряете преимущество Logger, зная, в каком методе вы находитесь.
void myLoggerMethod(Level level, String msg, String identifier) {
logger.log(level, identifier + " " + msg);
}
будет регистрировать вещи в основном правильно, но потомрегистрирует неправильное имя метода.Вы можете использовать logp, чтобы обойти это, но затем вам нужно отправить имя метода в виде строки, и оно станет довольно грубым.
Есть ли хороший способ, позволяющий людям вводить дополнительный фрагмент данных дляжурнал?Есть ли механизм расширения, который позволяет это, или что-то в API, которого я пропускаю?