dotnet.exe控制台中的.NET Core异常

时间:2017-08-23 09:22:48

标签: c# .net-core

我有一个.NET Core应用程序,它使用通用异常过滤器来处理对外部系统的日志记录。过滤器如下所示:

    public override void OnException(ExceptionContext context)
    {
        if (context.Exception is OperationCanceledException)
        {
            return;
        }

        if (_ignoreUnauthorizedExceptions && context.Exception is UnauthorizedAccessException)
        {
            return;
        }

        var requestId = Guid.NewGuid().ToString();
        context.HttpContext.Response.Headers.Add("Request-ID", requestId);
        context.Result = new ObjectResult(null) { StatusCode = 500 };

        Log.Error($"Request-ID: {requestId} Unhandled exception.", context.Exception);
    }

我需要显式设置context.Result,以便在客户端的响应中设置我的自定义标头。但是在执行此操作时,我不再在dotnet.exe控制台窗口中获取堆栈跟踪。

相反,我只是得到这样一行:

Request finished in 1219.6822ms 500

对于本地开发,在控制台中获取完整的堆栈跟踪会很不错。我怎样才能做到这一点?

0 个答案:

没有答案