Create a KernelInfo class which regroup all the info useful for debugging/logging, for instance:
public interface KernelInfo {
Map<String, Plugin> plugins();
UnitModule unitModule(Class<? extends Plugin> plugin);
UnitModule overridingUnitModule(Class<? extends Plugin> plugin);
UnitModule nonGuiceUnitModule(Class<? extends Plugin> plugin);
UnitModule nonGuiceOverridingUnitModule(Class<? extends Plugin> plugin);
GlobalModule globalModule();
Set<URL> scannedURLs();
}
This class will be provided by a new method on the kernel:
public interface Kernel {
...
KernelInfo getInfo();
}