标签: timber-android

无法解析方法“plant(timber.log.Timber.DebugTree)”

我的配置或代码有什么问题?
我突出显示了此错误

无法解析方法“plant(timber.log.Timber.DebugTree)”

对于代码

import timber.log.Timber;  
public class AppClass extends Application {  
    @Override  
    public void onCreate() {  
        super.onCreate();  
        if (BuildConfig.DEBUG) { Timber.plant(new Timber.DebugTree()); }  
    }  
}  
Run Code Online (Sandbox Code Playgroud)

但它会构建并执行。我仍然认为这意味着什么,不是吗?

配置信息:

Android Studio Bumblebee | 2021.1.1  
classpath 'com.android.tools.build:gradle:7.1.0'  
Gradle: com.jakewharton.timber:timber:5.0.1@aar  
ext.kotlin_version = '1.6.10'   
sourceCompatibility JavaVersion.VERSION_1_8
Run Code Online (Sandbox Code Playgroud)

android timber-android

16
推荐指数
3
解决办法
5209
查看次数

Timber中的日志方法名称和行号

是否可以使用Timber库记录当前行号和方法名称?

预期的LogCat结果:

ismaeldivita.myapp I/[L:22] [M:onResume] [C:HomeActivity]: Praise the log!
Run Code Online (Sandbox Code Playgroud)

android timber-android

12
推荐指数
3
解决办法
2709
查看次数

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

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

implementation 'com.jakewharton.timber:timber:4.6.0'
Run Code Online (Sandbox Code Playgroud)

虽然gradle同步时没有出错,但我无法在Core Library中看到或使用Timber类.

logging android timber-android

7
推荐指数
2
解决办法
1263
查看次数

如何告诉Timber哪个日志调用是针对哪个树?

我有用于记录和与崩溃报告服务合作的Timber库,我的应用程序中有Crashlytics和Loggly服务.

因此,我不得不种两棵树:

Timber.plant(new CrashlyticsTree());
Timber.plant(new LogglyTree(BuildConfig.LOGGLY_TOKEN));
Run Code Online (Sandbox Code Playgroud)

现在,每次我打电话:

Timber.e("bla bla");
Run Code Online (Sandbox Code Playgroud)

我得到了Loggly中的所有日志,但是我想让其中一些登录到Loggly,其中一些要转到Crashlytics,那么我该怎么做呢?

android timber-android

6
推荐指数
1
解决办法
1349
查看次数

使用Timber时,Tag为null

DebugTree日志中,我看到了类名,但是当我创建自定义树时,标签就是null.这是我的自定义树的样子:

public class CrashlyticsTree extends Timber.Tree {
private static final String CRASHLYTICS_KEY_PRIORITY = "priority";
private static final String CRASHLYTICS_KEY_TAG = "tag";
private static final String CRASHLYTICS_KEY_MESSAGE = "message";

@Override
protected boolean isLoggable(int priority) {
    if (priority == Log.VERBOSE || priority == Log.DEBUG || priority == Log.INFO) {
        return false;
    }

    // only log WARN(Timber.w), ERROR(Timber.e), or WTF(Timber.wtf)
    return true;
}

@Override
protected void log(int priority, @Nullable String tag, @Nullable String message, @Nullable Throwable t) {
    if(User.CurrentUser.isLoggedIn()){ …
Run Code Online (Sandbox Code Playgroud)

android android-log timber-android

6
推荐指数
1
解决办法
1852
查看次数

在调试控制台或Logcat中未打印木材日志

Log.i("Test", "Hello, Log")
Timber.i("Hello, Timber")
Run Code Online (Sandbox Code Playgroud)

我可以在调试控制台和Logcat中看到Log.i日志,但在任何地方都看不到Timber日志。

I /测试:您好,日志

我正在以stagingDebug模式构建。(我有4个选项,生产调试和发布以及暂存调试和发布)

我想念的是什么?

timber-android

6
推荐指数
4
解决办法
1637
查看次数

木材未登录Kotlin Android

Timber是一个用于登录Android的绝佳库.但是在Kotlin课程中,不输出任何内容.我怎样才能解决这个问题?

MainActivity.kt代码:

Timber.e("Timber Log 1")
Log.e("MainActivity", "Log 1")
Run Code Online (Sandbox Code Playgroud)

Gradle:我尝试过普通的Java Timber:

implementation 'com.jakewharton.timber:timber:4.7.1'
Run Code Online (Sandbox Code Playgroud)

而这个Kotlin特定包装:

implementation 'com.github.ajalt:timberkt:1.5.1'
Run Code Online (Sandbox Code Playgroud)

结果相同.两者都没有输出.只来自Log.e()

android kotlin timber-android

6
推荐指数
3
解决办法
2330
查看次数

Timber 库究竟是做什么的?

我听说过Timber并且正在阅读 github README,但它悄悄地让我感到困惑。

行为是通过 Tree 实例添加的。您可以通过调用 Timber.plant 安装实例。应尽早安装树木。应用程序的 onCreate 是最合乎逻辑的选择。

什么行为?

这是一个带有小型、可扩展 API 的记录器,它在 Android 的普通 Log 类之上提供实用程序。

它在 Android 的日志之上还提供了什么?

DebugTree 实现将自动确定它是从哪个类调用的,并使用该类名作为其标记。由于标签各不相同,当与像 Pidcat 这样的日志阅读器结合使用时,它的效果非常好。

什么是调试树?

默认情况下没有安装 Tree 实现,因为每次登录生产时,都会有一只小狗死去。

再次,什么是树实现?它有什么作用?我如何停止杀死小狗?

两个简单的步骤:

在应用程序类的 onCreate 中安装所需的任何 Tree 实例。

在整个应用程序中随处调用 Timber 的静态方法。

完成什么的两个简单步骤?

这些都没有在自述文件中解释。对于已经知道它是什么的人来说,这几乎是一个描述:/

android timber-android

6
推荐指数
1
解决办法
1572
查看次数

即使在添加到 gradle 之后也无法解析参考

我正在解决对这三个类的引用:

  • 木材

  • 泄漏金丝雀

  • 查找导航控制器

我在我的 gradle 中为这些添加了依赖项,我在其他项目中也有这些依赖项,但我在这里遇到了问题。

我试图:

  • 清理、重建、依赖构建、构建必要
  • 删除了 .gradle、.idea、build、app/build 文件夹并重建应用程序,但问题仍然存在
  • 我也试过 invalidate-cache 并重新启动它也没有帮助

摇篮文件:

apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.oss.licenses.plugin'
apply plugin: 'androidx.navigation.safeargs'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'

android {
compileSdkVersion 28
buildToolsVersion '28.0.0 rc2'
defaultConfig {
    applicationId "com.nrs.sid.creditcardsecurity"
    minSdkVersion 19
    targetSdkVersion 28
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    javaCompileOptions {
        annotationProcessorOptions {
            arguments = ["room.schemaLocation": "$projectDir/schemas".toString()]
        }
    }
}
sourceSets {
    androidTest.assets.srcDirs += files("$projectDir/schemas".toString())
}
sourceSets {
    main.java.srcDirs += 'src/main/kotlin'
}
buildTypes { …
Run Code Online (Sandbox Code Playgroud)

android android-navigation android-gradle-plugin leakcanary timber-android

5
推荐指数
1
解决办法
4580
查看次数

如何将 Timber 日志重定向到 Junit logcat

我正在使用带有 aDebugTree和 a 的木材ProductionTree。在正在运行的应用程序中一切都很好。我也成功地在我的 JUnit 测试实现中使用了 Timber,这很好(没有真正的好处,但它确实有效)。

但是,我想获取code under test要显示在 JUnit 日志中的日志。

我尝试构建一个JUnitTree并将木材日志重定向到println(…),并JUnitTree@Before功能中设置木材,但没有任何效果。来自社区的任何解决方案?

我的请求是否毫无意义,我在网络上没有找到任何有关此需求的信息(也许我使用了错误的关键字)。

junit android logcat kotlin timber-android

5
推荐指数
1
解决办法
624
查看次数