[英]ASP.NET Core Application Logs Not Written To Blob in Azure App Service
我為 Azure 上的應用服務啟用了應用程序日志記錄到 blob。
xxxxx-#####.applicationLog.csv
文件,但該文件實際上並不包含我的應用程序日志配置詳情:
Program.cs
配置日志記錄: .ConfigureLogging(log => log.AddAzureWebAppDiagnostics())
(這在 .NET Framework 而不是 .NET Core 運行時運行時顯然是必要的)總結:當我在 Azure 門戶中以這種方式配置 Azure 存儲時,不會在 Azure 存儲中創建包含我的應用程序日志的文件。
如果要將應用程序日志寫入 Azure blob 存儲,首先需要在 Azure 門戶上啟用應用程序日志並為其配置 blob 存儲。
我們可以按照博客在 Asp.net 核心應用程序中設置日志記錄。
在 ASP.NET Core 應用中設置登錄不需要太多代碼。 ASP.NET Core 新項目模板已經在 Startup.Configure 方法中使用以下代碼設置了一些基本的日志記錄提供程序:
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
我也為它做演示。 它在我這邊工作正常。
1.在Sartup.cs文件中添加如下代碼
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
loggerFactory.AddAzureWebAppDiagnostics(
new AzureAppServicesDiagnosticsSettings
{
OutputTemplate = "{Timestamp:yyyy-MM-dd HH:mm:ss zzz} [{Level}] {RequestId}-{SourceContext}: {Message}{NewLine}{Exception}",
}
);
2.在HomeController.cs中添加如下代碼
private readonly ILogger _logger;
public HomeController(ILoggerFactory loggerFactory)
{
_logger = loggerFactory.CreateLogger<HomeController>();
}
public IActionResult Index()
{
_logger.LogInformation("Log information");
_logger.LogError("Logger error");
return View();
}
3.訪問主頁/索引頁面並從 Azure 存儲 blob 中檢查它。 日志 blob 名稱的最后一部分。 默認為“ applicationLog.txt ”。 我們也可以自己設置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.