Запретить разоблачение логов Timber внутри модуля Android

Я искал более динамичный подход к ведению журнала в моем модуле Android и был очень рад найти Timber. Я реализовал это в одном классе, и это, кажется, идеальный инструмент для работы. Тем не менее, моя главная проблема заключается в том, что, поскольку Timber является одноэлементным, разработчик, использующий мою библиотеку, мог случайно включить мои внутренние журналы, установив дерево отладки в собственном приложении.

Я нашел эту веб-страницу, посвященную проблеме: Использование Timber в проекте библиотеки. Кто-то дал два решения:

  • Оберегайте каждую библиотеку, используя древесину с условием if (LibraryBuildConfig.DEBUG) Timber.v(msg);

  • Теневая зависимость

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

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

0 ответов

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