private ILoggerFactory ConfigureLogging(ILoggerFactory factory)
{
factory.AddConsole();
return factory;
}
He encontrado el fragmento de código anterior en Github . Da el siguiente error:
'ILoggerFactory' does not contain a definition for 'AddConsole' and the best extension method overload 'ConsoleLoggerExtensions.AddConsole(ILoggingBuilder)' requires a receiver of type 'ILoggingBuilder'
Estoy usando NET Core 3.0 y tengo los siguientes paquetes NuGet instalados.
<PackageReference Include="Discord.Net" Version="2.1.1" />
<PackageReference Include="Discord.Net.Commands" Version="2.1.1" />
<PackageReference Include="Discord.Net.WebSocket" Version="2.1.1" />
<PackageReference Include="Microsoft.Extensions.Configuration" Version="3.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.0.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="3.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="3.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="3.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="3.0.0" />
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="3.0.0" />
¿Por qué obtengo que ILoggerFactory
no tiene el método AddConsole()
? ¿Cómo puedo arreglar esto?
c#
nuget
core
discord.net
Drago
fuente
fuente
AddConsole
definición del método está incluida en lo que declaró con lasusing
declaraciones?Respuestas:
Intente usar ServiceCollection para configurar el inicio de sesión en core 3.0
fuente
Me encontré con esto después de un curso sobre Pluralsight. Me adelanté antes de la siguiente diapositiva explicando por qué su .AddConsole estaba trabajando en ILoggerFactory.Create.
Aunque solo necesita
using Microsoft.Extensions.Logging
en su clase, debe agregar explícitamente una referencia de paquete a su aplicación .Net Core para poder encontrar el método .AddConsole.y agregue esto usando la declaración a su código
fuente
Con .NET Core 3.0 es muy diferente agregar el registro de la consola. Tiene que usar LoggerFactory.Create () para agregar esto. mira los documentos de Microsoft aquí
fuente