.net core DI - ILogger always null
Tenho trabalhado em um projeto de conversão de uma solução .net 4.8 para .net standard e recentemente conseguimos integrar alguns pacotes que são comuns no .net core em um projeto asp.net mvc 5, os 2 principais pacotes são:
Um problema que enfrentamos foi ao tentar injetar uma instância de ILogger nos nossos controllers sempre estava nulo.
Pesquisanso um pouco descobri que o comando services.AddLogging();
não registra a interface Ilogger no container, apenas Ilogger
Para contarnos o problema temos duas soluções:
- Injetar uma instância de ILogger
- Registrar ILogger no nosso container:
services.AddSingleton(sp => sp.GetRequiredService<ILoggerFactory>().CreateLogger("DefaultLogger"));
Por hoje é só.
Espero ter ajudado!