private ILoggerFactory ConfigureLogging(ILoggerFactory factory)
{
factory.AddConsole();
return factory;
}
Znalazłem powyższy fragment kodu na Github . Daje następujący błąd:
'ILoggerFactory' does not contain a definition for 'AddConsole' and the best extension method overload 'ConsoleLoggerExtensions.AddConsole(ILoggingBuilder)' requires a receiver of type 'ILoggingBuilder'
Używam NET Core 3.0 i mam zainstalowane następujące pakiety NuGet.
<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" />
Dlaczego dostaję, że ILoggerFactory
nie ma metody AddConsole()
? Jak mogę to naprawić?
c#
nuget
core
discord.net
Drago
źródło
źródło
AddConsole
definicja metody jest zawarta w tym, co zadeklarowano wusing
instrukcjach?Odpowiedzi:
Spróbuj użyć ServiceCollection, aby skonfigurować logowanie w rdzeniu 3.0
źródło
Właśnie wpadłem na to po kursie Pluralsight. Wyprzedziłem się przed następnym slajdem wyjaśniając, dlaczego ich .AddConsole pracowało w ILoggerFactory.Create.
Nawet jeśli potrzebujesz tylko
using Microsoft.Extensions.Logging
w swojej klasie, musisz jawnie dodać odwołanie do pakietu do aplikacji .Net Core, aby znaleźć metodę .AddConsole.i dodaj tę instrukcję using do swojego kodu
źródło
W .NET Core 3.0 dodawanie rejestrowania konsoli jest zupełnie inne. Musisz użyć LoggerFactory.Create (), aby dodać to. spójrz tutaj na dokumenty Microsoft
źródło