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

时间:2017-03-24 11:13:11

标签: java android logging

为什么Android维护两个似乎支持相同内容的不同Log类?

我正在谈论:

  1. Log android.util.Log
  2. Logger java.util.logging.Logger
  3. 对于我多年来开发的内容,每个Android官方文档都指向Log而不是Logger。

    即使像TimingLogger这样的特定记录器也使用Log

    那么为什么支持这两个?

    是否可以通过Logger使用任何功能,而不是通过Log实现的功能?

    两者都有具体的用例吗?

1 个答案:

答案 0 :(得分:1)

功能交叉似乎是:

  1. android.util.Log = java.util.logging.Logger
  2. android.util.Printer = java.util.logging.Formatter
  3. android.util.PrintStreamPrinter = java.util.logging.StreamHandler
  4. 好像" android.util.Log"会有:

    1. 支持android log
    2. 支持Streams,Writers和Strings。
    3. 将是一个更小,更轻,可能更快。
    4. 看起来" J.U.L"会有:

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