azure - Microsoft.Extensions.Logging.AzureAppServices 未显示在 Azure 日志流中
问题描述
我觉得我已经尝试了所有方法来获取 Azure 门户中显示的日志消息。
我已经在我的项目中安装了相关的 NuGet 包:
我已启用 Azure 门户中的日志记录。
我已将以下内容添加到我的appsettings.json
:
"AzureLogging": {
"FileName": "azure-diagnostics-",
"FileSizeLimit": 50024,
"RetainedFileCountLimit": 5
}
并添加以下设置代码Startup
以确保它已添加其中之一。
services.Configure<AzureFileLoggerOptions>(options =>
{
options.FileName = "azure-diagnostics-";
options.FileSizeLimit = 50 * 1024;
options.RetainedFileCountLimit = 5;
});
我能从我的日志中得到的唯一信息是:
解决方案
在您的 Startup.cs -> Configure 方法中,您应该添加以下代码行:
loggerFactory.AddAzureWebAppDiagnostics();
loggerFactory.AddConsole();
这是我的 Startup.cs 中 Configure 方法的代码:
public void Configure(IApplicationBuilder app, IHostingEnvironment env,ILoggerFactory loggerFactory)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
//add the following 2 lines of code.
loggerFactory.AddAzureWebAppDiagnostics();
loggerFactory.AddConsole();
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseCookiePolicy();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
发布到 azure -> 启用应用程序日志记录(文件系统)后,在 Log Stream 中,我可以看到日志的输出(我在测试中将日志级别设置为详细):
推荐阅读
- c# - 如何强制我的超网格乐队可扩展
- java - 无法在 Eclipise 中运行 Spring Boot + JavaFX
- gurobi - 如何处理 Gurobi 约束中的绝对值
- vb.net - 填充网页文本框并通过 vb.net 中的 Web 浏览器控件自动提交
- java - CreatePlatformSocket() failed: Operation not allowed (1) during facebook login Android
- python - 理解python for循环语句中的变量声明
- python - ImportError:符号 __res_maybe_init 版本 GLIBC_PRIVATE 未在带有链接时间参考的文件 libc.so.6 中定义
- python - 使用 pyModbus 库中的 diag_message 函数时出现解码错误
- java - 扩大数字范围
- python - 比较 Pandas 中的相对开始日期