Class TransformSafeLogger


  • public final class TransformSafeLogger
    extends Object
    Debug logging that is performed under class file transform needs to use this class, because gradle deadlocks sporadically under the following sequence:
  • Gradle triggers a class to load while it is holding a lock
  • Class file transform occurs (under this lock) and the agent writes to System.out
  • (Because gradle hijacks System.out), gradle is called from inside of the class file transform
  • Gradle tries to grab a different lock during it's implementation of System.out