Существует ли расширение журнала log4j или commons или другая структура журнала, разработанная для Java 5 или выше? - PullRequest
3 голосов
/ 18 февраля 2009

Java 5 представила множество функций, которые могут сделать операторы логирования менее беспорядочными, такие как переменное число аргументов и printf. Это может облегчить весь код создания сообщений, который происходит, когда что-то регистрируется, а также окружающий if.

Например, вместо записи:

if (log.isDebugEnabled()
{
    log.debug("User id: "+uid+", Request id:"
    + rid +", Client IP: "+ip+" blah blah blah");
}

Я хотел бы написать:

log.debug("User id: %s, Request id: %s, Client IP: %s blah blah blah",
uid, rid, ip);

или что-то в этом роде.

Знаете ли вы каркас ведения журнала или расширение каркаса ведения журнала, которое может помочь с этим?

Ответы [ 3 ]

3 голосов
/ 18 февраля 2009

Log5j - это именно то, что вам нужно.

2 голосов
/ 18 февраля 2009

Фасад простой регистрации для Java (SLF4J)

Простой фасад ведения журнала для Java или (SLF4J) предназначен для использования в качестве простой фасад для различных интерфейсов API позволяя конечному пользователю подключить желаемая реализация в время развертывания. SLF4J также поддерживает преодоление устаревших API, а также инструмент миграции исходного кода.

SLF4J API предлагает расширенный абстракция различных журналов системы, включая протоколирование JDK 1.4, log4j и выход из системы. Особенности включают параметризованная регистрация и поддержка MDC.

Пример:

logger.info("{} {}!", "Hello", "world");

производит "Привет, мир!" но только если информационный уровень включен.

1 голос
/ 18 февраля 2009

Для этого достаточно легко написать свои собственные методы-оболочки.

...