This may be somewhat related to Pass ILogger or ILoggerFactory to constructors in AspNet Core?, however this is specifically about Library Design, not about
I would prefer to keep it simple and inject the non generic ILogger
This seems to be non-default behavior - but is easily wired up with the following:
services.AddTransient(s => s.GetRequiredService().CreateLogger(""));