Я использую SLF4J в качестве фасада регистрации и позволяю пользователям решать, где и что регистрировать. Теперь в случае сбоя я хочу отправить на сервер файл, содержащий отладочную информацию, что в основном означает лог-файл. И поскольку у нас уже есть все эти лог-операторы, разбросанные по коду, почему бы не использовать их?
Итак, я хочу создать файл журнала программно через SLF4J, прозрачный для пользователя, который все еще может подключить свой собственный бэкэнд и конфигурацию регистрации.
Моя первая идея состояла в том, чтобы реализовать org.slf4j.impl.StaticLoggerBinder
, доставить мою собственную реализацию регистратора, который ведет его регистрацию, а затем делегирует регистратору, настроенному пользователем. Тем не менее, я вижу некоторые проблемы с этим: если пользователь устанавливает нормальный бэкэнд регистрации, то несколько путей org.slf4j.impl.StaticLoggerBinder
находятся в пути к классам. Это выдаст предупреждение, и я, возможно, не смогу убедиться, что моя реализация - это та, которую нужно вызвать.
Есть ли лучшие решения для этого? Совсем другой подход? Идея изначально плохая? Как это сделать?