@Override
        public DockerImageName apply(final DockerImageName original) {
            final DockerImageName replacementImage = wrappedInstance.apply(original);

            if (!replacementImage.equals(original)) {
                log.info(
                    "Using {} as a substitute image for {} (using image substitutor: {})",
                    replacementImage.asCanonicalNameString(),
                    original.asCanonicalNameString(),
                    wrappedInstance.getDescription()
                );
                return replacementImage;
            } else {
                log.debug(
                    "Did not find a substitute image for {} (using image substitutor: {})",
                    original.asCanonicalNameString(),
                    wrappedInstance.getDescription()
                );
                return original;
            }
        }
Wrapper substitutor which logs which substitutions have been performed.
core/src/main/java/org/testcontainers/utility/ImageNameSubstitutor.java