Android:java.util.logging.Logger 与 android.util.Log

net*_*ein 6 java logging android

为什么要Android维护 2 个似乎支持相同事物的不同 Log 类?

我说的是:

  1. Log android.util.Log
  2. Logger java.util.logging.Logger

对于我多年来所看到的开发,每个 Android 官方文档都指向LogLogger 而不是 Logger。

甚至像TimingLogger这样的特定记录器使用Log.


那么为什么支持这两个呢?

是否有任何功能可以通过Logger我无法实现Log

两者都有特定的用例吗?

jme*_*ens 3

特征交叉似乎是:

  1. android.util.Log = java.util.logging.Logger
  2. android.util.Printer = java.util.logging.Formatter
  3. android.util.PrintStreamPrinter = java.util.logging.StreamHandler

似乎“android.util.Log”将会有:

  1. 支持安卓日志
  2. 支持输出到流、写入器和字符串。
  3. 将会更小、更轻,而且可能更快。

看起来“JUL”将会有:

  1. 使用java.util.logging.MemoryHandler缓冲记录。这很有用,当SEVERE发生错误时,您可以包含可能处于较低级别的最后 1000 条记录。
  2. 使用java.util.logging.Filter过滤记录。不包含开箱即用的过滤器,但它确实提供了在 android.util.Printer 中实现此行为的更多粒度
  3. 对XML 的开箱即用支持。
  4. Sockets 的开箱即用支持。
  5. 支持第三方java.util.logging.Handler实现。