C# Azure中的ASP.NET web应用程序-如何记录错误?

C# Azure中的ASP.NET web应用程序-如何记录错误?,c#,asp.net,azure,azure-web-app-service,error-logging,C#,Asp.net,Azure,Azure Web App Service,Error Logging,我在azure上部署了一个web应用程序,但我不知道如何记录错误 出于测试目的,我有以下ForceError方法: public string ForceError() { throw new Exception("just a test exception"); return "ok"; } 这会导致如下错误: 在Azure上,我启用了如下所有诊断日志: 但我强制执行的错误不会出现在选定的存储容器中 你知道我应该怎么做才能开始记录应用程序中的所有错误吗?我担心在Azure

我在azure上部署了一个web应用程序,但我不知道如何记录错误

出于测试目的,我有以下ForceError方法:

public string ForceError()
{
    throw new Exception("just a test exception");
    return "ok";
}
这会导致如下错误:

在Azure上,我启用了如下所有诊断日志:

但我强制执行的错误不会出现在选定的存储容器中


你知道我应该怎么做才能开始记录应用程序中的所有错误吗?

我担心在Azure Web应用程序日志记录中,仅仅抛出异常是不起作用的

ASP.NET应用程序可以使用
System.Diagnostics.Trace
类将信息记录到应用程序诊断日志中。下面示例中的四种方法对应于诊断日志级别:

Trace.TraceError("Message"); // Write an error message   
Trace.TraceWarning("Message"); // Write a warning message
Trace.TraceInformation("Message"); // Write an information message
Trace.WriteLine("Message"); // Write a verbose message

除了日志事件的基本信息外,blob存储还记录其他信息,如实例ID、线程ID和CSV中更精细的时间戳(勾号格式)

这是一篇关于日志记录技巧和工具的好文章


另请参见官方参考。

在Azure网站上,最好的登录方式是应用程序洞察,您可以使用免费版本获得有关崩溃/速度/性能的洞察

但是,如果您启用了所有功能,则应用程序洞察的速度会稍慢一些。但如果您自定义它并只启用错误日志记录,它会将所有日志推送到您的azure application insights帐户,您将能够很好地监视/分析它

有关详细信息:

我建议,不要自动配置应用程序洞察,而是采取一个空项目,设置应用程序洞察。注意所有添加的配置文件和nuget包。有一些insight配置文件,除了应用程序密钥/签名之外,您可以关闭所有功能


只有当您希望手动跟踪异常时,才能创建遥测客户端并调用TrackException方法。如果需要,您可以传递更多详细信息。

您好,这似乎就是我要找的。您能否详细说明如何使用App Insights进行“错误级别”日志记录和/或提供参考?只是一个补充,如果您和我一样使用mvc框架,这将确切地告诉您如何执行此操作。我认为自从你最初写这个问题以来,日志空间发生了很多事情。应用程序洞察仍然是一种可能性。现在有很多云日志平台支持Azure,比如,和。此外,现在任何有同样问题的人都应该看看如何利用像or这样的日志框架。