private ILoggerFactory ConfigureLogging(ILoggerFactory factory)
{
factory.AddConsole();
return factory;
}
Encontrei o código acima no Github . Dá o seguinte erro:
'ILoggerFactory' does not contain a definition for 'AddConsole' and the best extension method overload 'ConsoleLoggerExtensions.AddConsole(ILoggingBuilder)' requires a receiver of type 'ILoggingBuilder'
Estou usando o NET Core 3.0 e tenho os seguintes pacotes 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 que recebo que ILoggerFactory
não possui o método AddConsole()
? Como posso consertar isso?
c#
nuget
core
discord.net
Drago
fonte
fonte
AddConsole
definição do método está incluída no que você declarou comusing
instruções?Respostas:
Tente usar o ServiceCollection para configurar o log no núcleo 3.0
fonte
Acabei de me deparar com isso após um curso sobre a Pluralsight. Fiquei à frente de mim mesmo antes do próximo slide, explicando por que o .AddConsole estava trabalhando no ILoggerFactory.Create.
Mesmo que você precise apenas de
using Microsoft.Extensions.Logging
sua classe, adicione explicitamente uma referência de pacote ao seu aplicativo .Net Core para que o método .AddConsole seja encontrado.e adicione esta instrução using ao seu código
fonte
Com o .NET Core 3.0, é bem diferente adicionar o log do console. Você precisa usar LoggerFactory.Create () para adicionar isso. veja os documentos da microsoft aqui
fonte