【问题标题】:Android: java.util.logging.Logger vs android.util.LogAndroid:java.util.logging.Logger 与 android.util.Log
【发布时间】:2017-08-17 07:21:23
【问题描述】:

为什么Android 维护 2 个不同的 Log 类,它们似乎支持相同的东西?

我说的是:

  1. Logandroid.util.Log
  2. Loggerjava.util.logging.Logger

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

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


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

有没有什么功能可以通过Logger 使用而不是我无法通过Log 实现?

两者都有特定的用例吗?

【问题讨论】:

    标签: java android logging


    【解决方案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

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

    1. 支持android log
    2. 支持输出流、写入器和字符串。
    3. 将变得更小、更轻,而且可能更快。

    看起来“J.U.L”将会有:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-01
      相关资源
      最近更新 更多