这是我的情况。
应用:
ILogger<T> logger;logger.LogInformation(new EventId(123456, "HelloEvent"), "Hello there");基础设施:
我:
所以...
BIG问题:Microsoft Azure提供了哪些日志收集/处理的全部内容,它们如何组合在一起?
应用程序见解...看起来很酷。我将.UseApplicationInsights()构建器添加.AddApplicationInsightsTelemetry(..)到“启动”中。
而且我得到了漂亮的日志……关于服务结构事件,诸如http调用之类的依赖关系。但是我找不到“ Hello there” HelloEvent。
我在哪里得到的?
...
接下来,我使用Azure调查了日志,监视等。
我发现“日志分析”看起来很酷。显然,Application Insights使用它。但是我已经有了Application Insights。这是否意味着我有Log Analytics?还是我创建自己的Log Analytics工作区。如果是这样,我的日志会转到两个地方吗?是否以某种方式将Application Insights连接到它?
ARM模板实际上是从2015年开始的,名为OperationalInsights。尽管示例中有2017版,但参考文档中没有。
那么操作见解?显然,这来自某些Microsoft Operations Management Suite / OMS。之前是哪个彩信...?
最近的文档都谈论“ Azure Monitor”。但这甚至不是我可以在Azure中部署的东西。这只是一个概念吗?
…
我要做的就是在某个地方收集日志,然后用一些很酷的东西进行搜索和可视化:)
...而且我仍然找不到我的“ HelloEvent”
谁能阐明我简单的“ HelloEvent在哪里”,或者说出更大的问题“哪些是零件,它们如何组合在一起?”?
关于“我的 HelloEvent 在哪里”及其应用见解:
请确保在 Startup.cs -> 配置方法中指定日志级别信息,如下所示:
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
// other code
//specify the LogLevel to Information, the default is warning
loggerFactory.AddApplicationInsights(app.ApplicationServices,LogLevel.Information);
}
Run Code Online (Sandbox Code Playgroud)
(更新)如果您想在日志中包含事件 ID,只需在 Startup.ConfigureServices 方法中设置 ApplicationInsightsLoggerOptions 实例即可。
services
.AddOptions<ApplicationInsightsLoggerOptions>()
.Configure(o => o.IncludeEventId = true);
Run Code Online (Sandbox Code Playgroud)
我的测试代码如下:
public class HomeController : Controller
{
ILogger<HomeController> _logger;
public HomeController(ILogger<HomeController> logger)
{
_logger = logger;
}
public IActionResult Index()
{
_logger.LogInformation(new EventId(123456, "HelloEvent"), "Hello there");
return View();
}
// other code
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1065 次 |
| 最近记录: |