我正在尝试在我的ASP.NET Core MVC应用中配置自定义日志记录。该应用托管在Azure App Service on Linux (免费版)上。但是日志文件没有出现,我做错了什么?
我的配置:
根据ASP.NET Core日志记录文档 (https://learn.microsoft.com/en-us/aspnet/core/fundamentals/logging/?view=aspnetcore-3.1#azure-app-service-provider),我已向我的应用程序添加了Azure App Service日志提供程序。
我的配置:
根据ASP.NET Core日志记录文档 (https://learn.microsoft.com/en-us/aspnet/core/fundamentals/logging/?view=aspnetcore-3.1#azure-app-service-provider),我已向我的应用程序添加了Azure App Service日志提供程序。
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureLogging(logging =>
{
logging.ClearProviders();
logging.AddAzureWebAppDiagnostics();
})
.ConfigureServices(serviceCollection => serviceCollection
.Configure<AzureFileLoggerOptions>(options =>
{
options.FileName = "azure-diagnostics-";
options.FileSizeLimit = 10 * 1024;
options.RetainedFileCountLimit = 5;
})
)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseUrls("http://*:8080");
webBuilder.UseStartup<Startup>();
});
app.settings中的日志配置:
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*"
}
我在我的控制器中记录了信息,警告和错误。
根据Azure文档(https://learn.microsoft.com/en-us/azure/app-service/troubleshoot-diagnostic-logs#enable-application-logging-linuxcontainer),我已经在Azure App -> App Service日志中启用了文件系统日志记录:
我的应用程序已顺利部署并运行。我期望在应用程序的文件系统中找到名称为“azure-diagnostics”的日志文件。我通过进入Azure App -> SSH并运行以下命令来检查文件系统:
find . -name '*azure-diagnostics*'
该方法没有返回任何内容。我还使用Kudu和VS Cloud Explorer检查了文件系统,但未找到这些文件。如果添加控制台日志记录提供程序,则日志会在标准的Azure日志文件中正常显示。我在这里忽略了什么?