在Gradle中,如何在控制台/事件日志中打印消息?

时间:2016-11-30 01:48:55

标签: android android-studio gradle output

我正在尝试验证执行部署命令时是否正确设置了源路径和目标路径。

见下面的例子:
(复制自:http://eppz.eu/blog/unity-android-plugin-tutorial-2/

android.libraryVariants.all { variant ->
    // Task names.
    String variantName = "${variant.name.capitalize()}"; // Like 'Debug'
    String deployTaskGroup = "plugin";
    String deployTaskName = "deploy${variantName}PluginArchive"; // Like 'deployDebugPluginArchive'
    String dependencyTaskName = "assemble${variantName}"; // Like 'assembleDebug'
    // Source.
    String sourceAARFolder = "${buildDir.getPath()}/outputs/aar/";
    String sourceAARName = "${project.name}-${variant.name}.aar";
    // Target.
    String targetAssetFolder = "Assets/Plugins/My Plugin";
    String targetAARFolder = "${rootDir.getPath()}/../../${targetAssetFolder}"; // Navigate into 'Assets'
    String targetAARName = "My Plugin Android.aar"; // The form you ship your plugin

    String targetProjDir = System.env.UNITY_PROJECT; // <-- Need to confirm this line!
    //Log.i(targetProjDir); //??????????? something like this?

    // Create task.
    task(deployTaskName, dependsOn: dependencyTaskName, type: Copy) {
        from(sourceAARFolder)
        into(targetAARFolder)
        include(sourceAARName)
        rename(sourceAARName, targetAARName)
    }.group = deployTaskGroup;
}

有没有办法将上述targetProjDir字符串变量显示到某种控制台,或Android Studio中的事件日志(假设它是控制台的名称)?

4 个答案:

答案 0 :(得分:47)

Gradle使用日志框架。您可以将消息记录到该消息。默认情况下,仅显示日志级别lifecycle及更高级别,但您可以登录其他级别,例如debuginfo

要记录调试级别(使用gradle --debug或更低版本的构建可见)

project.logger.debug('my debug message')

登录信息级别(gradle --info版本及更低版本可见

project.logger.info('my info message')

记录生命周期级别(默认情况下可见)

project.logger.lifecycle('my message visible by default')

答案 1 :(得分:26)

Gradle脚本是用Groovy语言编写的。可以登录到您自己的消息控制台。

如果项目的 Gradle版本 3.2.1或更高,那么有一个简单的选项可用于登录构建文件,即将消息写入标准输出。 Gradle将写入标准输出的任何内容重定向到它的日志记录系统。

示例

println 'A message which is logged at QUIET level'

Gradle日志记录系统允许我们将消息记录到多个日志级别(LIFECYCLE,QUIET,INFO,DEBUG)

请通过以下链接进行详细研究

https://docs.gradle.org/current/userguide/logging.html

答案 2 :(得分:7)

基本上,您可以通过此gradle脚本打印出一条消息-

 println "This is a simple gradle message"

但是,如果您想在消息中打印一个变量,则可以通过以下代码进行操作

def variable = "This is a simple variable"

println "Message: ${variable}"

答案 3 :(得分:3)

这对我来说适用于 Android Studio:

println("Log: current build type is $buildTypeName")