我已在Azure上为应用服务启用了应用程序日志记录。
xxxxx-#####.applicationLog.csv
这样的文件,但此文件实际上并不包含我的应用程序日志配置详情:
Program.cs
配置.ConfigureLogging(log => log.AddAzureWebAppDiagnostics())
中的日志记录(在.NET Framework而不是.NET Core运行时运行时显然是必需的)总结:当我在Azure门户中以这种方式配置时,Azure存储中不会创建包含我的应用程序日志的文件。
答案 0 :(得分:1)
如果我们要将应用程序日志写入Azure blob存储,首先我们需要在Azure门户上启用应用程序日志并为其配置blob存储。
我们可以按照blog设置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 ”。我们也可以设置ourseleves。