我使用以下代码创建了托管服务:
class Program
{
static async Task Main(string[] args)
{
await new HostBuilder()
.ConfigureAppConfiguration((hostContext, configApp) =>
{
configApp.AddEnvironmentVariables(prefix: "SAMPLEHOST_");
configApp.AddCommandLine(args);
})
.ConfigureServices((hostContext, services) =>
{
services.AddHostedService<SampleHostedService>();
services.AddHostedService<AnotherHostedService>();
})
.ConfigureLogging((hostingContext, logging) =>
{
logging.AddConsole();
})
.RunConsoleAsync();
}
}
...具有以下launchsettings.json
。
{
"profiles": {
"SampleHost.Cli": {
"environmentVariables": {
"LOGGING__LOGLEVEL__DEFAULT": "Debug",
}
}
}
}
我似乎无法使它出现在控制台中。 :(
Logger.LogDebug("Hello debug");
我想仅根据环境变量来修改和调整LogLevel
。我错过了什么吗?
答案 0 :(得分:1)
您可能需要这样的东西:
.ConfigureLogging((hostingContext, logging) =>
{
logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging"));
logging.AddConsole();
})
答案 1 :(得分:-1)
我没有托管服务的经验,因此我不知道该帮助如何,但是,我确实在ASP.NET应用程序上工作,并将其添加到了 appsettings .json中。
"Logging": {
"LogLevel": {
"Default": "Warning",
"System": "Error",
"Microsoft": "Error"
},
"Console": {
"IncludeScopes": true
}
}