Я создал статическое веб-приложение Azure. Я могу видеть, как запросы моих функций API выполняются в аналитике приложений (Монитор). Но я не вижу сообщений журнала ниже Warning
. В функции Azure я регистрирую сообщения, как показано ниже:
_logger.LogTrace($">>> Log Trace");
_logger.LogDebug($">>> Log Debug");
_logger.LogInformation($">>> Log Information");
_logger.LogWarning($">>> Log Warning");
_logger.LogError($">>> Log Error");
_logger.LogCritical($">>> Log Critical");
Console.WriteLine($">>> Console WriteLine");
Как вы можете видеть ниже, отсутствуют Trace
Debug
Information
сообщения регистрации.
Ниже мой файл .csproj.
<Project Sdk = "Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<AzureFunctionsVersion>v4</AzureFunctionsVersion>
<OutputType>Exe</OutputType>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<FrameworkReference Include = "Microsoft.AspNetCore.App" />
<PackageReference Include = "Microsoft.Azure.Functions.Worker" Version = "1.20.1" />
<PackageReference Include = "Microsoft.Azure.Functions.Worker.Extensions.Http" Version = "3.1.0" />
<PackageReference Include = "Microsoft.Azure.Functions.Worker.Extensions.Http.AspNetCore" Version = "1.2.0" />
<PackageReference Include = "Microsoft.Azure.Functions.Worker.Sdk" Version = "1.16.4" />
<PackageReference Include = "Microsoft.ApplicationInsights.WorkerService" Version = "2.21.0" />
<PackageReference Include = "Microsoft.Azure.Functions.Worker.ApplicationInsights" Version = "1.1.0" />
<PackageReference Include = "Microsoft.EntityFrameworkCore" Version = "8.0.4" />
<PackageReference Include = "Microsoft.EntityFrameworkCore.Sqlite" Version = "8.0.3" />
<PackageReference Include = "Microsoft.EntityFrameworkCore.Tools" Version = "8.0.3">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include = "Newtonsoft.Json" Version = "13.0.3" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include = "..\SoutienScolaireV2.Shared\SoutienScolaireV2.Shared.csproj" />
</ItemGroup>
<ItemGroup>
<None Update = "Data\database.db">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update = "host.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update = "local.settings.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToPublishDirectory>Never</CopyToPublishDirectory>
</None>
</ItemGroup>
<ItemGroup>
<Using Include = "System.Threading.ExecutionContext" Alias = "ExecutionContext" />
</ItemGroup>
<ItemGroup>
<Folder Include = "Data\" />
</ItemGroup>
</Project>
Ниже мой файл host.json.
{
"version": "2.0",
"logging": {
"applicationInsights": {
"logLevel": {
"default": "Information",
"Function": "Information"
},
"samplingSettings": {
"isEnabled": true,
"excludedTypes": "Request",
"logLevel": {
"default": "Trace"
}
},
"enableLiveMetricsFilters": true
},
"logLevel": {
"default": "Information",
"Function": "Information"
}
}
}
Чего не хватает, чтобы увидеть все мои сообщения журнала?
Также поделитесь своим кодом host.jsob
в текстовом формате.
@Harshitha Я обновил свой вопрос запрошенной информацией.
Итак, проблема в функции Azure, размещенной в статическом приложении, и вы не можете регистрировать информацию и отслеживать ее?
@Харшита Действительно. Как вы можете видеть в моем вопросе, я регистрирую разные типы сообщений, но сообщения Trace
и Information
никогда не отображаются в Monitor на моем портале Azure.
Попробуйте эту Конфигурацию в host.json
файле.
Ссылка, которую вы предложили выше, полезна, когда журналы не записываются в Application Insights. Для меня это не так. Отсутствуют только сообщения журнала Trace
, Debug
и Information
.
Хорошо... Попробую со своей стороны.
Вы пробовали конфигурацию, которой я поделился?
@Harshitha да, с тем же результатом, что и раньше.
Можете ли вы поделиться своим репозиторием кода?
Давайте продолжим обсуждение в чате.
Я попробовал ваш код и внес изменения в файл Program.cs
.
services.Configure<LoggerFilterOptions>(options =>
{
LoggerFilterRule logfilter = options.Rules.FirstOrDefault(rule => rule.ProviderName
== "Microsoft.Extensions.Logging.ApplicationInsights.ApplicationInsightsLoggerProvider");
if (logfilter is not null)
{
options.Rules.Remove(logfilter);
}
});
Мой Program.cs
файл:
using Microsoft.Azure.Functions.Worker;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
var host = new HostBuilder()
.ConfigureFunctionsWebApplication()
.ConfigureServices(services =>
{
services.AddApplicationInsightsTelemetryWorkerService();
services.ConfigureFunctionsApplicationInsights();
services.Configure<LoggerFilterOptions>(options =>
{
LoggerFilterRule logfilter = options.Rules.FirstOrDefault(rule => rule.ProviderName
== "Microsoft.Extensions.Logging.ApplicationInsights.ApplicationInsightsLoggerProvider");
if (logfilter is not null)
{
options.Rules.Remove(logfilter);
}
});
})
.Build();
host.Run();
Мой host.json
файл:
{
"version": "2.0",
"logging": {
"applicationInsights": {
"samplingSettings": {
"isEnabled": true,
"excludedTypes": "Request"
}
},
"logLevel": {
"default": "Information"
}
}
}
Azure Application Insights
.Обратитесь к этой SOthread, чтобы настроить его.
Мой .csproj
файл:
<Project Sdk = "Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<AzureFunctionsVersion>v4</AzureFunctionsVersion>
<OutputType>Exe</OutputType>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<ApplicationInsightsResourceId>/subscriptions/****/resourceGroups/****/providers/microsoft.insights/components/AppInsights</ApplicationInsightsResourceId>
<UserSecretsId>****</UserSecretsId>
</PropertyGroup>
<ItemGroup>
<FrameworkReference Include = "Microsoft.AspNetCore.App" />
<PackageReference Include = "Microsoft.Azure.Functions.Worker" Version = "1.20.1" />
<PackageReference Include = "Microsoft.Azure.Functions.Worker.Extensions.Http" Version = "3.1.0" />
<PackageReference Include = "Microsoft.Azure.Functions.Worker.Extensions.Http.AspNetCore" Version = "1.2.0" />
<PackageReference Include = "Microsoft.Azure.Functions.Worker.Sdk" Version = "1.16.4" />
<PackageReference Include = "Microsoft.ApplicationInsights.WorkerService" Version = "2.21.0" />
<PackageReference Include = "Microsoft.Azure.Functions.Worker.ApplicationInsights" Version = "1.1.0" />
<PackageReference Include = "Microsoft.Extensions.Configuration.UserSecrets" Version = "8.0.0" />
</ItemGroup>
-------
-------
</Project>
Поиск транзакции:
Журналы:
Живые показатели:
Какая версия вашего приложения? Можете ли вы поделиться своим
.csproj
файлом?