日志流不会接收消息

时间:2018-05-14 15:47:51

标签: azure asp.net-core-2.0

在ASP.NET Core应用程序中,我将以下内容添加到控制器操作

System.Diagnostics.Trace.WriteLine("Wrote log at " + DateTime.Now.ToLongTimeString());
System.Diagnostics.Trace.TraceError("Wrote error log at " + DateTime.Now.ToLongTimeString());
System.Diagnostics.Trace.TraceInformation("Wrote info log at " + DateTime.Now.ToLongTimeString());

我在Azure的Application Logging (Filesystem)菜单下启用了Diagnostic Logs,但在Log Stream下,我没有看到任何跟踪消息。我错过了什么吗?

更新

我使用.NET Framework(而不是.NET Core)创建了一个示例MVC应用程序,Log Stream在我使用System.Diagnostics.Trace输出消息时工作正常。

这是否意味着我无法在.NET Core中使用System.Diagnostics.Trace将消息输出到Log Stream?这适用于Visual Studio,以将消息输出到“输出”窗口。

1 个答案:

答案 0 :(得分:1)

根据Logging in ASP.NET Core

  

导航至日志流页面以查看应用程序消息。它们通过ILogger界面按应用程序记录。

在ASP.NET Core应用程序中,我在Controller中注入了记录器:

private readonly ILogger _logger;
public HomeController(ILogger<HomeController> logger)
{
    _logger = logger;
}

现在可以在Controller动作中使用它。

_logger.LogWarning(100, "Warning using ILogger");

现在,这些日志会显示在Azure网络应用中的 Log Streaming 页面上。