Java:如何根据运行环境使用两种不同的日志记录系统

时间:2012-01-26 10:00:34

标签: android log4j logging

我开发了一个使用apache log4j库的应用程序/库。 现在我想将这个库也用到一个Android应用程序中,通常的log4j库不起作用。

现在我知道有一些库lis slf4j o log4j用于android,但我的想法是使用可用的log4j库(当库运行到计算机上时)并在运行时使用Android日志工具Android设备。

有可能吗? 我认为解决方案应该是实现一个内部Logger类来选择可用的日志记录系统。

  • 这是个好主意吗?
  • 或者最好只选择一个日志系统?
  • 或者更好的是内部记录器类在两个独立的版本中实现,第一个用于真正的PC,第二个用于Android。

还有:

  • 我如何检测运行环境? (它是在Android上还是在计算机上?是否足以检测我是否在DalvikVM或JavaVM上?是否可能?

感谢任何帮助/建议。

1 个答案:

答案 0 :(得分:1)

您可以使用Java Logging。它也可以在android API上找到。 android上的这个api似乎代表了android.util.Log。

请注意,默认情况下,只有邮件INFO和up才会打印在logcat上。如果您想查看较低的日志级别,可以在设备上设置propprop(more info):

adb -e shell setprop log.name DEBUG

请记住在库中设置java日志级别:

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

希望这个帮助