c# - 无法将事件记录到应用程序洞察中
问题描述
我正在尝试使用ILogger
.
我已经实现ILogger
了,它可以很好地登录到控制台,但它不会将任何内容记录到 app-insights 中。文档似乎不是最新的,因为接口中没有调用AddApplicationInsights
方法ILoggingBuilder
。
因此,我改用了该方法AddAzureWebAppDiagnostics
。
public class Program
{
public static void Main(string[] args)
{
BuildWebHost(args).Run();
}
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureLogging((hostingContext, logging) =>
{
// Add Azure Logging
logging.AddAzureWebAppDiagnostics();
logging.AddConsole();
})
.UseApplicationInsights()
.UseStartup<Startup>()
.Build();
public class Startup
{
private readonly ILoggerFactory _loggerFactory;
public Startup(IConfiguration config, ILoggerFactory loggerFactory)
{
Configuration = config;
_loggerFactory = loggerFactory;
}
public void ConfigureServices(IServiceCollection services)
{
ILogger logger = _loggerFactory.CreateLogger<BasicBot>();
logger.LogInformation("THAT IS A TEST MESSAGE");
}
}
它可以很好地登录到控制台但我在 app-insights 中什么也没看到!
提示:我正在使用 dotnet core 2.1 并在 Visual Studio 的开发中进行调试。
提示:app-insights 工作正常并使用ITelemetry
. 但我ILogger
也需要记录来自代码中许多位置的不同消息!
解决方案
该方法AddApplicationInsights
包含在此包Microsoft.Extensions.Logging.ApplicationInsights中。
我设置了一个 .net core 2.1 Web 应用程序,并配置应用程序洞察力以及安装此包Microsoft.Extensions.Logging.ApplicationInsights版本 2.9.1。日志可以在控制台和门户中显示。
在代码中:
测试结果 - 登录 azure 门户:
推荐阅读
- python-3.x - Python脚本在Google Drive中创建二进制文件而不是文件夹
- html - 为什么“body[attribute="value] element”CSS 选择器不起作用?
- javascript - 获取所有 React 组件的列表
- python - 从服务器下载文件
- javascript - 为什么我们需要在前端表达?
- javascript - 用于在 Google doc 中为当前选择设置字体的 Apps 脚本
- python - 满足多索引条件时如何组合元组中的对象
- python - 使用相应的目录标记我们的灰度图像
- sql - 树 MySQL8 / MariaDB10 中的递归查询
- php - 在 php 文件的命名空间中加载类时未找到类错误