我正在尝试在我的build.gradle
文件中添加一些日志消息:
android {
...
...
buildTypes {
...
...
applicationVariants.all { variant ->
logger.warn('A warning log message.')
}
}
}
我通过this Gradle doc了解到,只要有一个静态logger
可以随时调用。事实上,logger.warn()
位直接从该文档中复制出来。但是,我收到了这条消息:
No signature of method: com.android.build.gradle.internal.LoggerWrapper.warn() is applicable for argument types: (java.lang.String) values: [A warning log message.]
对我来说,logger.warn()
及其所有其他等价物(错误,信息等)不接受字符串作为输入似乎很奇怪。我做错了什么?
答案 0 :(得分:3)
看起来因为你在配置android
对象的闭包中,对logger
的引用被解析为内部Android记录器对象。
我会在任何地方使用project.logger...
来确保您访问默认的Gradle记录器。
此处定义了内部Android记录器:https://android.googlesource.com/platform/tools/base/+/master/common/src/main/java/com/android/utils/ILogger.java