This is overly complicated and non-standard. ~The caller can add log handlers. The library shouldn’t add any.~ The caller can do all the logging.