Java: как использовать две разные системы журналирования в зависимости от запущенной среды - PullRequest
0 голосов
/ 26 января 2012

Я разработал приложение / библиотеку, которая использует библиотеку apache log4j.Теперь я хочу использовать библиотеку и в приложении для Android, где обычная библиотека log4j не работает.

Теперь я знаю, что есть несколько библиотек для журнала android, но моя идея состоит в том, чтобы использовать доступную библиотеку log4j (тогда, когда библиотека работает на компьютере) и использовать средства журналирования Android, когда онаработает на устройствах Android.

Возможно ли это сделать?Я думаю, что решение должно заключаться в реализации внутреннего класса Logger, который выбирает доступную систему ведения журнала.

  • Это хорошая идея?
  • Или лучше выбрать только одну систему регистрации?
  • Или, может быть, лучше, если класс внутреннего регистратора реализован в двух отдельных версиях: первой для реального ПК и второй для Android.

А также:

  • как я могу обнаружить работающую среду?(Это на Android или на компьютере? Достаточно ли определить, нахожусь ли я на DalvikVM или JavaVM? Возможно ли это?

Любая помощь / предложение приветствуется.

1 Ответ

1 голос
/ 11 апреля 2012

Вы можете использовать Java Logging.Он также доступен на Android API .Этот API на Android кажется, что делегаты на Android.util.Log.

Обратите внимание, что по умолчанию только сообщения INFO и выше печатаются на LogCat.Если вы хотите увидеть нижние уровни журнала, вы можете установить на устройстве пропроп ( больше информации ):

adb -e shell setprop log.name DEBUG

И не забудьте установить уровень журнала java в вашей библиотеке:

Logger.setLevel (java.util.logging.Level.FINER);

Надеюсь, эта помощь

...