我正在尝试将日志记录添加到现有的 .NET Framework 应用程序。我添加了自己的记录器(称为 MyLogger)并将配置设置放入 appsettings.json,如下所示:
{
"LogFilePath": "C:\\Temp\\Logs\\%yyyy-%MM-%dd.txt",
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning"
},
"MyLogger": {
"LogLevel": {
"Default": "Error"
}
}
}
}
我可以像这样读取配置设置:
IConfigurationBuilder configurationBuilder = new ConfigurationBuilder()
.AddJsonFile("appsettings.json");
var configuration = configurationBuilder.Build();
我想保持简单,不使用主机。我可以像这样创建 LoggerFactory:
var loggerFactory = LoggerFactory.Create(loggingBuilder =>
{
loggingBuilder
.ClearProviders()
.AddMyLogger(loggerConfig =>
{
loggerConfig.FilePath = configuration["LogFilePath"];
});
});
ILogger logger = loggerFactory.CreateLogger("Global");
logger.LogInformation("Application starting");
如何将 appsettings.json 中的配置设置连接到 LoggerFactory?例如,在上面的代码中,LogInformation() 不应该记录任何内容,因为我的 appsettings.json 将 MyLogger 的最低日志级别设置为 Error。