2017-02-28 18 views
1

處理我用一個異常過濾器登錄我的ASP.NET核心應用的例外是這樣的:防止紅隼從錯誤記錄了在ExceptionFilter

public void OnException(ExceptionContext context) 
{ 
    var request = context.HttpContext.Request; 
    var resource = $"{request?.Method}: {request?.Path}{request?.QueryString}"; 

    var logger = context.HttpContext.RequestServices.GetService<ILogger<ExceptionFilter>>(); 
    logger.LogError(0, context.Exception, $"Error in SB.API - {resource}");   
} 

這工作得很好,而且紅隼也記錄這個事件給我一個重複的條目。

當我像這樣手動記錄它時,如何防止此錯誤進一步傳播?

我不想完全關閉它,因爲那樣我可能會錯過管道其他部分發生的錯誤。

+0

嘗試檢查「日誌過濾」(https://docs.microsoft.com/en-us/aspnet/core/fundamentals/logging) –

回答

1

設置context.ExceptionHandled = true;然後Kestrel會知道你照顧它並且不會記錄它。