slf4j - ведение журнала для нескольких реализаций одновременно

  1. Как заставить slf4j использовать несколько реализаций (appenders) если хотите войти в консоль и файл оба? (что-то похожее на настройку log4j с помощью файла loj4.properties)

  2. Как сделать мой собственный slf4j impl? Просто реализовать интерфейс, и он будет найден на пути к классам автоматически?

2 ответа

SLF4J просто простой фасад: "Простой фасад ведения журнала для Java или (SLF4J) служит простым фасадом или абстракцией для различных сред ведения журналов, например, java.util.logging, log4j и logback, позволяя конечному пользователю подключить желаемое ведение журнала. рамки во время развертывания. " (От http://www.slf4j.org/)

Таким образом, вам нужна реализация, которая могла бы печатать или сохранять ваши сообщения журнала. Есть несколько вариантов: http://www.slf4j.org/manual.html Я бы выбрал Logback. Обратитесь к руководству по входу в систему, глава 4: Appenders.

  1. Вы путаете здесь реализации с аппендерами. Appender - это физическая цель ведения журнала (файл, консоль и т. Д.), И это термин из log4j или logback, которые являются реализациями slf4j. SLF4J не знает об аппендерах.

  2. SLF4J предназначен для работы с одной реализацией за раз. Если вам нужно использовать много, вам придется реализовать org.slf4j.impl.StaticLoggerBinder самостоятельно, и поместите его в classpath как единственный класс с этим именем, и направьте запись в этот класс. Я все еще не уверен, если это то, что вы хотите.

Другие вопросы по тегам