Регистрация дополнительной информации с помощью java.util.logging.Logger - PullRequest
0 голосов
/ 07 октября 2010

В моей команде у нас есть стандарт ведения журнала, и по большей части методы

Logger.log(Level, String, [Throwable]) 

работают нормально (он дает нам автоматическую метку времени, имя класса, имя метода, сообщение и информацию о метании вжурнал).Тем не менее, у нас есть дополнительный идентификатор, который мы регистрируем, и он является частью нашего стандарта (мы используем его для контроля журналов).

Моя проблема в том, что я хочу иметь возможность легко применять этот стандарт в довольнобезболезненно.Сначала мы создали класс-регистратор оболочки, но проблема в том, что вы теряете преимущество Logger, зная, в каком методе вы находитесь.

void myLoggerMethod(Level level, String msg, String identifier) { 
    logger.log(level, identifier + " " + msg); 
}

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

Есть ли хороший способ, позволяющий людям вводить дополнительный фрагмент данных дляжурнал?Есть ли механизм расширения, который позволяет это, или что-то в API, которого я пропускаю?

Ответы [ 2 ]

1 голос
/ 07 октября 2010

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

Например, моя IDE настроена на изменение logdebug, logerror, loginfo на фрагменты кода для моей регистрации.

В моей IDE я набираю logdebug, нажимаю ctrl + space и он преобразует его в

if(logger.isDebugEnabled()){
logger.debug("xxx");}

Затем я могу просто заполнить сообщение, которое хочу.

1 голос
/ 07 октября 2010

Я не совсем понимаю ваш вариант использования, но вы можете попробовать реализовать пользовательский Formatter (или Handler), или вы можете расширить существующий, напримерSimpleFormatter / FileHandler.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...