您好,我在 Azure Functions 中的应用程序洞察日志中遇到了一个相当奇怪的问题。我无法正常记录范围值。我尝试了不同的设置,但仍然无法实现这一目标。在 WebApi 应用程序中它可以正常工作
程序.cs
.ConfigureLogging((context, loggingBuilder) =>
{
loggingBuilder.AddApplicationInsights("...");
})
主持人:
{
"version": "2.0",
"logging": {
"logLevel": {
"Default": "Trace",
"Microsoft.AspNetCore": "Warning"
},
"applicationInsights": {
"logLevel": {
"Default": "Information"
}
}
},
"extensions": {
"serviceBus": {
"prefetchCount": 32,
"messageHandlerOptions": {
"autoComplete": true,
"maxConcurrentCalls": 32,
"maxAutoRenewDuration": "00:30:00"
}
},
"eventHub": {
"maxBatchSize": 64,
"prefetchCount": 256,
"batchCheckpointFrequency": 1
}
}
}
日志:
using (_logger.BeginScope(new Dictionary<string, object> { ["Scope"] = "Test" }))
{
_logger.LogInformation("Import check requested started");
_logger.LogWarning("Test Warning");
}
非常感谢
要将日志添加到警告级别范围以下,您需要将其添加到
Program.cs
中的 .NET 8
文件中。
.ConfigureLogging(logging =>
{
logging.Services.Configure<LoggerFilterOptions>(options =>
{
LoggerFilterRule defaultRule = options.Rules.FirstOrDefault(rule => rule.ProviderName
== "Microsoft.Extensions.Logging.ApplicationInsights.ApplicationInsightsLoggerProvider");
if (defaultRule is not null)
{
options.Rules.Remove(defaultRule);
}
});
})
.ConfigureAppConfiguration((hostContext, config) =>
{
config.AddJsonFile("host.json", optional: true);
})
.ConfigureLogging((hostingContext, logging) =>
{
logging.AddApplicationInsights(console =>
{
console.IncludeScopes = true;
});
logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging"));
})
这对我有用:
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.Functions.Worker;
using Microsoft.Extensions.Logging;
namespace Isolatedfunc
{
public class Function1
{
private readonly ILogger<Function1> _logger;
public Function1(ILogger<Function1> logger)
{
_logger = logger;
}
[Function("Function1")]
public IActionResult Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post")] HttpRequest req)
{
_logger.LogInformation("C# HTTP trigger function processed a request.");
_logger.LogTrace("Test Trace");
_logger.LogWarning("Test Warning");
return new OkObjectResult("Welcome to Azure Functions!");
}
}
}
host.json
:
{
"version": "2.0",
"logging": {
"logLevel": {
"default": "Trace"
},
"applicationInsights": {
"samplingSettings": {
"isEnabled": true,
"excludedTypes": "Request"
},
"enableLiveMetricsFilters": true
}
}
}
OUTPUT
: