Class TransformSafeLogger

java.lang.Object
io.opentelemetry.javaagent.tooling.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