我使用以下代码创建了一个托管服务:
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
。我错过了什么吗?
您可能需要这样的东西:
.ConfigureLogging((hostingContext, logging) =>
{
logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging"));
logging.AddConsole();
})
我没有
托管服务的经验,所以我不知道这会有所帮助,但是,我确实在 ASP.NET 应用程序上工作,并将其添加到appsettings.json。
"Logging": {
"LogLevel": {
"Default": "Warning",
"System": "Error",
"Microsoft": "Error"
},
"Console": {
"IncludeScopes": true
}
}