Использование java.util.Formatter в качестве форматера по умолчанию для slf4j - PullRequest
6 голосов
/ 27 марта 2011

В настоящее время у меня есть собственный менеджер журналов, который внутренне использует java.util.Formatter. Основная проблема заключается в том, что это не очень удобно: все в одном файле на приложение, нет возможности добавлять конкретные журналы в базу данных, не может отправлять почту, ...

Так что я хотел бы иметь возможность расширить возможности нашей системы регистрации. После нескольких тестов Log4J - это именно то, что мне сейчас нужно. Но я бы хотел избежать боли, чтобы изменить это снова в будущем, поэтому я планирую использовать slf4j поверх Log4J.

Даже если я готов выполнить большой поиск / замену во всей моей кодовой базе для использования slf4j, я не готов проверять каждый оператор журнала и переформатировать его для использования {} формата slf4j.

Итак, мой вопрос: как я могу использовать интерфейс slf4j и сказать ему, что внутренне он должен использовать java.util.Formatter вместо значения по умолчанию, предпочтительно в одном месте (то есть не в каждом классе или пакете)?

Примечания: все ответы, касающиеся выступлений или заявления о том, что я не должен использовать j.u.Форматер, будут отброшены: мне нужно прагматичное решение моей проблемы, а не запуск дебатов.

1 Ответ

2 голосов
/ 27 марта 2011

Существует патч http://bugzilla.slf4j.org/show_bug.cgi?id=116, который можно изменить в соответствии с вашими потребностями. Представленное здесь обсуждение также может дать дополнительную ясность по использованию util.Formatter.

...