Asp.net Azure网站-如何获取服务器错误详细信息(截断的跟踪文件)

Asp.net Azure网站-如何获取服务器错误详细信息(截断的跟踪文件),asp.net,azure,Asp.net,Azure,我正在使用Azure Web API 2。我的客户收到大约500个错误,我正试图找出原因。我在Azure portal中打开了跟踪功能,在没有截断文件的情况下,我看到了一些很棒的信息,如: 235. - GENERAL_RESPONSE_ENTITY_BUFFER {"Message":...,"ExceptionMessage"...,"StackTrace":"..... 问题是我的日志文件被截断为1MB。(发布的JSON数据量可能很大,这会占用日志空间。) 我在LogFiles/Det

我正在使用Azure Web API 2。我的客户收到大约500个错误,我正试图找出原因。我在Azure portal中打开了跟踪功能,在没有截断文件的情况下,我看到了一些很棒的信息,如:

235. - GENERAL_RESPONSE_ENTITY_BUFFER 
{"Message":...,"ExceptionMessage"...,"StackTrace":".....
问题是我的日志文件被截断为1MB。(发布的JSON数据量可能很大,这会占用日志空间。)

我在LogFiles/DetailedErrors中看到一些可能很好的.htm文件,但它们是没有任何详细信息或跟踪信息的通用页面

在Web.Config中,我设置了
。这会将详细信息添加到跟踪文件中,但不会添加到DetailedErrors htm文件中

问题:

1) 我可以增加跟踪文件的最大大小吗?(我尝试使用maxLogFileSizeKB失败,但不知道该放在哪里,可能是在Web.Config中。)


2) 是否有其他方法可以从服务器上的LogFiles目录中查看有关服务器错误的堆栈跟踪信息?我认为您的问题可能是登录到了错误的位置。有三个不同的地方可以存储日志,但是预览门户没有旧的Azure门户那么清晰。日志记录文档仍然会将您引导到要设置的旧门户,您可以登录到Blob存储或表存储。
. 记录到表可能没有那么大的限制。

虽然我无法增加日志大小,但我可以使用
IEExceptionLogger
获取跟踪信息。我不需要任何特殊的错误处理,所以只需要得到通知就足够了。这适用于API(2)控制器

1) 在App_Start/WebApiConfig.cs中,我添加了以下行

config.Services.Add(typeof(IExceptionLogger), new ApiErrorLogger());
2) 创建我的
ApiErrorLogger

public class ApiErrorLogger : ExceptionLogger {

    public override void Log(ExceptionLoggerContext context) {
        addLogError(context.Request.RequestUri.ToString(), context.Exception.Message, context.Exception.StackTrace);
    }

    public static void addLogError(string uri, string message, string stackTrace) {
        // Store data in Azure table
    }
}

我不必使用
,这很好,而且我可以在Azure portal中关闭跟踪(这是一种资源昂贵的方式)。

你好,Amanda。谢谢你的回复。我阅读了链接,尝试使用旧的门户并将日志发送到blob存储,虽然我得到了一个日志,但它不在详细级别。我从未在blob存储上找到跟踪文件。我正在尝试一种新的方法。。。创建一个IEExceptionLogger,以便可以通知我未处理的错误并执行我自己的日志记录。我希望这能解决我的问题。再次感谢。