[英]Logging in console application (.NET Core with DI)
伙計們。 我嘗試使用 DI(.NET Core 3.1)將日志記錄添加到我的控制台應用程序,似乎 IoC 容器可以正常工作,將記錄器依賴項注入我的類,但 LogXXX 方法不會記錄到輸出。 原因是什么? 也許還有一些額外的配置?
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
namespace DependencyInjection
{
class Program
{
static void Main(string[] args)
{
var services = new ServiceCollection();
ConfigureServices(services);
var serviceProvider = services.BuildServiceProvider();
var logger = serviceProvider.GetService<ILogger<Program>>();
logger.LogInformation("Hello world!");
}
static void ConfigureServices(ServiceCollection services)
{
services.AddLogging(loggerBuilder =>
{
loggerBuilder.ClearProviders();
loggerBuilder.AddConsole();
});
}
}
}
文檔有控制台應用程序的當前示例
class Program
{
static void Main(string[] args)
{
using var loggerFactory = LoggerFactory.Create(builder =>
{
builder
.AddFilter("Microsoft", LogLevel.Warning)
.AddFilter("System", LogLevel.Warning)
.AddFilter("LoggingConsoleApp.Program", LogLevel.Debug)
.AddConsole();
});
ILogger logger = loggerFactory.CreateLogger<Program>();
logger.LogInformation("Example log message");
}
}
當然你需要安裝合適的 Nuget 包:
Microsoft.Extensions.Logging
Microsoft.Extensions.Logging.Console
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.