Recursive initialization calls possible during loading of LoggerFinder service.
This fix detects the recursive call and returns a temporary LoggerFinder that is backed by a lazy logger. Automated test case developed to simulate loading of an external LoggerFinder service while also having other threads poke System.getLogger during this framework initialization. ------------- Commit messages: - more cleanup - Copyright year - Edits to orig patch - Initial design Changes: https://git.openjdk.org/jdk/pull/15404/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=15404&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8314263 Stats: 406 lines in 7 files changed: 396 ins; 1 del; 9 mod Patch: https://git.openjdk.org/jdk/pull/15404.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/15404/head:pull/15404 PR: https://git.openjdk.org/jdk/pull/15404