结果是每次调用.e
,.w
例如,遍历所有种植的树木并调用它们各自.e
的.w
实现。
这意味着如果我想分离库 A 和库 BI,则需要为每个库使用不同的日志记录优先级。
所以我选择使用.e
A.w
库和B库。
为了做到这一点,我必须创建从 Timber.HollowTree 继承的自定义树,并且只实现所需的日志调用,并将其余部分留空。
public class LibraryATree extends Timber.HollowTree {
@Override
public void e(Args){
// Do something
}
}
public class LibraryBTree extends Timber.HollowTree {
@Override
public void w(Args){
// Do something
}
}
Timber.plant(new LibraryATree())
Timber.plant(new LibraryBTree())
现在在我的代码中,如果我想通过 LibraryA 记录一些东西,我会这样做:
Timber.e("Test Library A"); // calls LibraryA's Tree's `.e` method
如果我想使用库 B 的日志记录实用程序,我会这样做:
Timber.w("Test Library B"); // calls LibraryB's Tree's `.w` method