首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以在我的java库上使用Timber Logger吗?

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

Stack Overflow用户
提问于 2017-11-05 08:33:43
回答 2查看 2.4K关注 0票数 10

我将木材依赖项添加到我的Java Core Library Module build.gradle文件中:

代码语言:javascript
复制
implementation 'com.jakewharton.timber:timber:4.6.0'

虽然它在gradle同步时没有给出错误,但我无法在Core库中看到或使用Timber类。

EN

回答 2

Stack Overflow用户

发布于 2019-05-17 17:08:02

如果任何人在看Timber (没有android依赖)的多模块android项目。使用timber-jdk,如下所示。

在项目的build.gradle文件中。

代码语言:javascript
复制
allprojects {
    repositories {
        maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
    }
}

在单个模块build.gradle文件中(例如:域或远程模块)

代码语言:javascript
复制
implementation "com.jakewharton.timber:timber-jdk:5.0.0-SNAPSHOT"

有了这个,你应该能够在不依赖安卓框架的情况下实现Timber

票数 4
EN

Stack Overflow用户

发布于 2020-07-11 04:09:34

如果你有多模块项目,你可以在纯Java/Kotlin中使用Timber,只涉及一点抽象,不需要外部库。

Kotlin和Koin的示例:

纯kotlin模块中的创建一个大的冒名顶替者,Timber.kt:

代码语言:javascript
复制
interface ILogger {
    fun d(message: String)
    fun e(message: String)
    fun e(throwable: Throwable, message: String)
    fun i(message: String)
}

object Timber: ILogger, KoinComponent {

    private val logger: ILogger by inject()

    override fun d(message: String) = logger.d(message)
    override fun e(message: String) = logger.e(message)
    override fun e(throwable: Throwable, message: String) = logger.e(throwable, message)
    override fun i(message: String) = logger.i(message)
}

app模块中的创建TimberLogger.kt:

代码语言:javascript
复制
import timber.log.Timber

class TimberLogger : ILogger {

    override fun d(message: String) = Timber.d(message) // this is real timber this time
    override fun e(message: String) = Timber.e(message)
    override fun e(throwable: Throwable, message: String) = Timber.e(throwable, message)
    override fun i(message: String) = Timber.i(message)
}

应用程序模块中的,将TimberLogger实现注入你的伪木材:

代码语言:javascript
复制
val appModule = module {

    single<ILogger> { TimberLogger() }
}

现在你可以从任何地方静态地调用Timber.d("message")。

如果你有使用木材的2+纯模块,考虑创建Utils模块并将其包含在其他模块中,这样它就可以在任何地方使用。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47117052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档