Gradle Logging

From NovaOrdis Knowledge Base
Revision as of 01:00, 19 October 2020 by Ovidiu (talk | contribs) (→‎Accessing Gradle Logging in Custom Java Tasks)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Internal

Overview

Gradle exposes access to its internal logging mechanism via the logger variable, which is available from settings.gradle and build.gradle. In build.gradle, the variable corresponds to Project.getLogger() accessor. The underlying logging component exposes the standard SLF4J "error", "warn", "info", "debug" and "trace" methods, as well as a few extra ones, like "quiet".

 
logger.quiet "this is info content that will always be sent to the stdout"
logger.error "this is error content that will be sent to stderr"
logger.warn "this is warning content will be sent to stdout"
logger.info "this is info content will be sent to stdout when --info is active"
logger.debug "this is debug content will be sent to stdout when --debug is active"
logger.trace "test"

Output Configuration

The logging level can be controlled on command line with command line flags (-q|--quiet, -i|--info, -d|--debug).

Accessing Gradle Logging in Custom Java Tasks

For a custom Java task, access to the Gradle logging can achieved as following:

[...]
import org.gradle.api.DefaultTask;
import org.gradle.api.logging.Logger;

[...]
public class ExampleTask extends DefaultTask {

   private final Logger logger;

   public IncrementalBuildAwareTask() {
      this.logger = getProject().getLogger();
   }

   [...]
}