private ILoggerFactory ConfigureLogging(ILoggerFactory factory)
{
factory.AddConsole();
return factory;
}
J'ai trouvé le morceau de code ci-dessus sur Github . Il donne l'erreur suivante:
'ILoggerFactory' does not contain a definition for 'AddConsole' and the best extension method overload 'ConsoleLoggerExtensions.AddConsole(ILoggingBuilder)' requires a receiver of type 'ILoggingBuilder'
J'utilise NET Core 3.0 et j'ai installé les packages NuGet suivants.
<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" />
Pourquoi est-ce que j'obtiens qui ILoggerFactory
n'a pas la méthode AddConsole()
? Comment puis-je réparer cela?
c#
nuget
core
discord.net
Drago
la source
la source
AddConsole
définition de la méthode est incluse dans ce que vous avez déclaré avec lesusing
instructions?Réponses:
Essayez d'utiliser ServiceCollection pour configurer la journalisation dans Core 3.0
la source
Je suis juste tombé sur ceci après un cours sur Pluralsight. J'ai pris de l'avance sur moi-même avant la diapositive suivante expliquant pourquoi leur .AddConsole fonctionnait dans ILoggerFactory.Create.
Même si vous n'avez besoin que
using Microsoft.Extensions.Logging
de votre classe, vous devez ajouter explicitement une référence de package à votre application .Net Core pour que la méthode .AddConsole soit trouvée.et ajoutez cette instruction using à votre code
la source
Avec .NET Core 3.0, il est très différent d'ajouter la journalisation de la console. Vous devez utiliser LoggerFactory.Create () pour ajouter cela. regardez les documents de microsoft ici
la source