Skip to content

TimingLogger

Muyangmin edited this page Feb 27, 2017 · 2 revisions

Android SDK内置的TimingLogger有以下缺陷:

  • 输出控制固定为Log.isLoggable(DEBUG),无法修改;
  • 输出管道固定为Log.d,无法重定向。

PLog针对这两个问题,在library里提供了一份修改后的TimingLogger

使用2.x版本的PLog(推荐

第一步,引入Gradle依赖(参见依赖列表):

    compile "org.mym.plog:plog-core:${VERSION_NAME}"        //核心库,必选
    compile "org.mym.plog:plog-timing:${VERSION_NAME}"      //计时日志包

第二步,使用修改后的TimingLogger,用法与原生库完全一样:

     TimingLogger timings = new TimingLogger(TAG, "methodA");
     // ... do some work A ...
     timings.addSplit("work A");
     // ... do some work B ...
     timings.addSplit("work B");
     // ... do some work C ...
     timings.addSplit("work C");
     timings.dumpToLog();

请注意import的是org.mym.plog.timing.TimingLogger,而不是andorid.util.TimingLogger

使用1.x版本的PLog

1.x版本中,修改的的打点方法被代理到PLog类中,与其他日志打印方法统一。
使用方法举例:

        PLog.resetTimingLogger();
        PLog.addTimingSplit("Timing operation");

        emulateTimeOperation();
        PLog.addTimingSplit("Operation Step 1");

        emulateTimeOperation();
        PLog.addTimingSplit("Operation Step 2");

        PLog.dumpTimingToLog();