| handleFlawedHierarchy(ClassLoader, Class) |  | 0% |  | 0% | 11 | 11 | 51 | 51 | 1 | 1 |
| createLogFromClass(String, String, boolean) |   | 53% |   | 50% | 6 | 9 | 27 | 70 | 0 | 1 |
| getConfigurationValue(String) |   | 23% |   | 38% | 9 | 10 | 11 | 23 | 0 | 1 |
| handleFlawedDiscovery(String, Throwable) |   | 6% |   | 16% | 6 | 7 | 18 | 21 | 0 | 1 |
| isLogLibraryAvailable(String, String) |  | 0% |  | 0% | 6 | 6 | 15 | 15 | 1 | 1 |
| newInstance(String) |   | 25% |   | 33% | 3 | 4 | 10 | 16 | 0 | 1 |
| findUserSpecifiedLogClassName() |   | 58% |   | 70% | 6 | 11 | 8 | 28 | 0 | 1 |
| discoverLogImplementation(String) |   | 78% |   | 75% | 4 | 9 | 4 | 26 | 0 | 1 |
| getBaseClassLoader() |   | 68% |   | 71% | 4 | 8 | 4 | 17 | 0 | 1 |
| informUponSimilarName(StringBuilder, String, String) |   | 53% |   | 50% | 2 | 3 | 4 | 7 | 0 | 1 |
| getLogClassName() |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| getLogConstructor() |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| setAttribute(String, Object) |   | 69% |   | 60% | 4 | 6 | 2 | 8 | 0 | 1 |
| logDiagnostic(String) |   | 23% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| initDiagnostics() |   | 83% |   | 50% | 1 | 2 | 3 | 10 | 0 | 1 |
| getParentClassLoader(ClassLoader) |   | 45% | | n/a | 0 | 1 | 3 | 4 | 0 | 1 |
| removeAttribute(String) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| isJdk13LumberjackAvailable() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| isJdk14Available() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| isLog4JAvailable() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getLowestClassLoader(ClassLoader, ClassLoader) |   | 89% |   | 83% | 2 | 7 | 2 | 15 | 0 | 1 |
| LogFactoryImpl() |   | 92% |   | 50% | 1 | 2 | 1 | 10 | 0 | 1 |
| getBooleanConfiguration(String, boolean) |   | 72% |   | 50% | 1 | 2 | 1 | 4 | 0 | 1 |
| trim(String) |  | 71% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| getContextClassLoader() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| initConfiguration() |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| getInstance(String) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getAttributeNames() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| release() |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| getSystemProperty(String, String) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getAttribute(String) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getInstance(Class) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getContextClassLoaderInternal() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$getSystemProperty$1(String, String) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getClassLoader(Class) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$getParentClassLoader$2(ClassLoader) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| isDiagnosticsEnabled() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$getContextClassLoaderInternal$0() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |