我尝试在使用.Net 6.0的C# Windows客户端(窗体)应用程序上使用Serilog和Ninjet
谁能告诉我如何配置Ninject,以便在此处注入ILogger:
public partial class TestingForm : Form
{
private readonly ILogger<TestingForm> _logger;
TestingForm(ILogger<TestingForm> logger)
{
_logger = logger;
}
//etc.
}
我更希望使用类似于此处使用的.UseSeriLog()的函数:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.UseSerilog()
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
但我就是不知道如何用Ninject来实现
1条答案
按热度按时间mspsb9vt1#
我创建了一个面向.NET 6的Windows窗体应用程序。我通过Nuget安装了Serilog和Ninject。
MyModule.cs:
Programs.cs:
Serilog.cs
Serilog的ILogger是非泛型的,所以只使用ILogger。如果你想要TestingForm类型的ILogger,那么你可能需要安装Microsoft.Extensions.Logging。