Я дал ему тестовый прогон, и я испытываю то же самое. Все сводится к этому небольшому описанию в Javadoc для TimingLogger :
Если Log.isLoggable не включен
по крайней мере, уровень Log.VERBOSE для
этот тег во время создания, то
вызовы addSplit и 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 :
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 явно вошел в систему.
Вы можете включить ведение журнала для этого тега вручную из [Класс 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
См. Комментарий дроидгрена к этому ответу - по-видимому, также необходим вызов addSplit.
[3]: http://developer.android.com/reference/android/util/Log.html#isLoggable(java.lang.String, int)