问题标签 [timber-android]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
589 浏览

android - 生成已签名的 apk 并激活 proguard 时,木材包不存在错误

我正在尝试使用 android studio 生成签名的 apk,它给了我这些错误

在我的应用程序类中,我将 Timber 定义如下

这是我使用的 Okhttp 日志记录方法:

gradle 设置如下:

并且没有特定的 proguard 配置。有什么问题?

0 投票
2 回答
1541 浏览

android - 调用完成()并重新启动应用程序后木材重复日志

我的 TextView 上有一个onTouchListener。在接触时,我登录,Timber.i()然后打电话给finish()。如果在完成()之后,我再次启动我的应用程序,然后再次单击 TextView,它将记录两次,然后是 3 次,等等...

(如果我用普通的 Log.i() 替换 Timber.i() 就没有问题)

木材版本:

工作代码:

布局 :

0 投票
1 回答
370 浏览

android - Android Studio lint 突出显示 Timber 不起作用

我已将 Timber 集成到一个新项目中。而且我无法使 lint 突出显示工作。意思是这样的:

未突出显示为黄色。

我错过了什么吗?有这个设置吗?运行./gradlew lint生成了一个可爱的报告,它准确地找到了我想要的,所以 lint 规则在我的项目中的某个地方。然而,IDE 不想在运行中突出显示这一点。

像这样的东西new String("x")被突出显示,而且我的 IDE 设置大多是默认设置,所以有些东西可以工作。

我有另一个更大的 Timber 项目,并且亮点工作完美 - 所以我怀疑我在项目配置级别上遗漏了一些东西。

0 投票
2 回答
167 浏览

android - 我的活动和片段在修改其启动模式后似乎运行了两次方法

我最近修改了我的项目,以便我可以处理由单个活动组成的“登录任务”和包含所有其他活动的“主要任务”。我通过清单做到了这一点:

现在,每次记录某些内容时,我都会开始看到重复的行。我首先认为每个活动/片段都有两个实例(不确定如何,真的),但事实并非如此,通过登录this.toString()活动和片段可以看出:

当我启动时MainAcitivity(其中ViewPager包含四个片段),我还要设置正确的(?)标志:

从 Main 打开所有其他活动时,我不使用该标志,因为它们都指定MainActivity为父项,尽管我认为它不相关。

是的,我已经阅读并浏览了官方文档,但仍然无法弄清楚发生了什么。

对我来说最奇怪的是这个应用程序是使用 MVP 构建的:每个 Activity 都有自己的 Presenter、View 和 Interactor,后者只负责从服务器获取数据。我为此实现了改造,交互者没有做这种重复,但演示者也显示重复的日志记录。

所以基本上我有两个问题:

  1. 为什么我得到双日志?
  2. 我是否正确处理了我想要实现的任务?- 我的直觉告诉我,我还需要指定taskAffinity所有其他活动都可以放在“主要任务”上

顺便说一句,我正在使用 Timber,而不是在每个 Activity 上种植树,而是在我的 App 类上

感谢您提供任何可能的建议。

0 投票
3 回答
2522 浏览

android - 我可以在我的 java 库上使用 Timber Logger 吗?

我将 Timber 依赖项添加到我的 Java 核心库模块 build.gradle 文件中:

虽然 gradle 同步时没有报错,但我在 Core Library 中看不到或使用 Timber 类。

0 投票
2 回答
152 浏览

android - 需要更少的解决方案:自动删除 RELEASE BUILD 中的所有日志。有任何第 3 方库吗?

我正在从事的项目中遇到一个奇怪的问题。

我的问题:

  • 我有很多 Log.e、Log.i、Log.d
  • 我需要在发布版本中删除它
  • 我不愿意手动删除所有日志,因为这很头疼

为什么我提出这个问题:

  • 是否可以在不使用 Proguard 的情况下删除 apk 发布版本中的所有日志{因为使用 proguard 会受到很多规则和规定的刺激,而且我个人不喜欢它;-) }

  • 任何 3 rd PARTY 库都可以实现这一目标

  • 我尝试使用 TIMBER,但我认为它并不容易实现

注意:有些人对这个问题投了反对票。我对他们有一个建议如果我问任何不好或错误的问题,最好投反对票。我要求替代解决方案。请不要让我们气馁。

0 投票
1 回答
600 浏览

android - 从我的 apk 中删除所有 Timber 日志

在我编译发布 apk 之前,我在我的 proguard 规则中使用以下代码来删除任何可能留下的 log.di。

有没有办法对所有原木进行处理?

0 投票
0 回答
206 浏览

android-studio - 实时模板记录选择中的所有变量

我有很多实时模板可以帮助我高效地工作,但我还没有发现一个记录所有变量及其值的实时模板。有没有办法可以做到?我不熟悉 groovy 脚本……</p>

例子:

int i1 = 1, i2 = 2; 选择上述内容并使用环绕直播模板将在 $END$ 处添加:

Log.d(TAG, "变量值:i1 = [" + i1 + "] i2 = [" + i2 + "]"); 或者如果使用木材

Timber.d("变量值:i1 = [%s], i2 = [%s]", i1, i2); 这也将对社区有很大帮助。

0 投票
3 回答
923 浏览

android - 是否可以在运行时选择特定的木材树?

假设我想为我的逻辑的每个部分创建一个带有不同记录器的应用程序,即一个用于常见消息的 ConsoleLogger 和一个用于远程通信的 HttpLogger。

我已经看到 Timber 允许您创建从 Timber.Tree 扩展的不同记录器。然后,可以通过修改您自己的应用程序子类的 onCreate 方法,根据 Android 变体(DEBUG 与 RELEASE)来决定使用哪个记录器。此外,可以通过使用日志记录级别(d、i、w 等)来配置 Timber 使用一个记录器或另一个。

现在,我的问题是,是否可以在运行时告诉 Timber 使用哪棵树? 如果有帮助,我正在尝试做一些类似于logback-android对 slf4j 所做的事情:

0 投票
0 回答
254 浏览

android - Gradle 不包括 .jar 库

我有一个图书馆说 abc.aar,这包括它的 lib 中的 wood.jar。这个木材是版本 - 2.5.1 库 abc 是由另一个团队开发的,我无法修改它。:-( 我正在开发另一个依赖于 abc.aar 的库。我需要使用 wood-4.7.0。如何从编译中排除 wood2.5.1。我尝试了以下

这对我不起作用。我从 abc 模块获得木材参考。(木材 2.5.1)。非常感谢任何帮助。