我给它一试运行,我遇到了同样的事情。如果未启用 到至少Log.VERBOSE水平 该标签在创建时则 addSplit和Log.isLoggable
:这一切都归结于描述在Javadoc for TimingLogger这一点点dumpToLog调用将不会执行 。
我做了一个测试本地:
TimingLogger timings = new TimingLogger("MyTag", "Initialization");
Log.d("MyTag", "Is Loggable? " + Log.isLoggable("MyTag", Log.VERBOSE));
timings.dumpToLog();
而且奇怪的是,我得到一个输出到日志:
06-28 08:35:18.693: DEBUG/MyTag(24366): Is Loggable? false
但仅此而已。而且因为它是假的,我怀疑TimingLogger是基于做任何事情时,TimingLogger code:
90 /**
91 * Clear and initialize a TimingLogger object that will log using
92 * the tag and label that was specified previously, either via
93 * the constructor or a call to reset(tag, label). If the
94 * Log.isLoggable is not enabled to at least the Log.VERBOSE
95 * level for that tag at creation time then the addSplit and
96 * dumpToLog call will do nothing.
97 */
98 public void reset() {
99 mDisabled = !Log.isLoggable(mTag, Log.VERBOSE);
100 if (mDisabled) return;
101 if (mSplits == null) {
102 mSplits = new ArrayList<Long>();
103 mSplitLabels = new ArrayList<String>();
104 } else {
105 mSplits.clear();
106 mSplitLabels.clear();
107 }
108 addSplit(null);
109 }
我不知道为什么Log.isLoggable是返回false当它以高于VERBOSE明显日志,因为我Log.d明显登录。
您可以启用从[Log类的Javadoc]手动该标签记录[3]:“setprop log.tag:
您可以通过设置 系统属性更改默认的水平。 '其中 级别是VERBOSE,DEBUG,INFO, WARN,ERROR,ASSERT或SUPPRESS。 SUPPRESS将关闭所有日志记录 您的标记。您还可以创建一个 local.prop文件,其中包含 : 'log.tag。='和 将其放置在/data/local.prop中。
这一点我通过adb shell
做:
$ adb shell
# setprop
usage: setprop <key> <value>
# setprop log.tag.MyTag VERBOSE
#
结果:
06-28 08:53:42.447: DEBUG/MyTag(24739): Is Loggable? true
06-28 08:53:44.744: DEBUG/MyTag(24739): Initialization: begin
06-28 08:53:44.744: DEBUG/MyTag(24739): Initialization: end, 0 ms
见droidgren对这个答案的评论 - 这显然是为了addSplit呼叫也是必要的。
[3]:http://developer.android.com/reference/android/util/Log.html#isLoggable(java.lang.String,INT)
谢谢,那就是了! 但是你需要至少有一个timings.addSplit才能真正测量任何时间。 而且您只需要为每个标记执行一次setprop。 太棒了! – droidgren 2010-06-28 15:58:12
VERBOSE对于Android来说是“高于”DEBUG的。 – George 2012-02-13 23:00:04
@mbafford:也许你应该更新答案,所以通过阅读它可以知道至少需要调用一次addSplit方法。 – wojciii 2012-11-01 09:47:49