我有一个 Data.Migrations 项目,它将运行任何实体框架迁移来更新数据库模型。最近我已将此项目更新到.NET 6,并Program.cs使用以下代码添加了一个记录器:
var serviceCollection = new ServiceCollection();
var serviceProvider = serviceCollection.BuildServiceProvider();
_logger = serviceProvider.GetService<ILogger<Program>>();
Run Code Online (Sandbox Code Playgroud)
然而,这会导致_logger == null.
如何将记录器添加到 Program.cs 中?
Vit*_*kov 11
如果您使用的是最小托管模型,则非常简单:
...
var app = builder.Build();
app.Logger.LogInformation("Starting Application");
...
Run Code Online (Sandbox Code Playgroud)
上述代码显示在ASP.NET Core 官方文档中
Ole*_*egI 10
你缺少这一行:
serviceCollection.AddLogging();
Run Code Online (Sandbox Code Playgroud)
所以完整的代码如下所示:
var serviceCollection = new ServiceCollection();
serviceCollection.AddLogging();
var serviceProvider = serviceCollection.BuildServiceProvider();
_logger = serviceProvider.GetService<ILogger<Program>>();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25422 次 |
| 最近记录: |