2
web apiでグローバル例外ログを実装しようとしていて、そのエラーIDを持つユーザーにfrienldyメッセージを送信しようとしているので、エラーIDを返すことができますそれを修正することができます。私は両方を実装しています:ASP.NET Web API 2:ExceptionLoggerと例外ハンドラ
- をSystem.Web.Http.ExceptionHandling.ExceptionLogger
- System.Web.Http.ExceptionHandling.ExceptionHandler
をここでExceptionLogger抽象クラスをオーバーライドする私のクラスである。
:ここpublic class GlobalExceptionLogger : System.Web.Http.ExceptionHandling.ExceptionLogger
{
public override void Log(ExceptionLoggerContext context)
{
LogMessage logMsg = new LogMessage();
logMsg.ID = System.Guid.NewGuid().ToString();
logMsg.MessageType = MessageType.ResourceServerAPI;
logMsg.SenderMethod = context.Request.RequestUri != null ? string.Format("Request URL: {0}", context.Request.RequestUri.ToString()) : "";
logMsg.Level = MesageLevel.Error;
logMsg.MachineName = Environment.MachineName;
logMsg.Message = context.Exception.Message;
Logger.LogError(logMsg);
}
}
は、どのように私は取り扱いしていますエラーです
処理前に例外ログが発生するため、例外ログを例外ハンドラに渡してエンドユーザーに対応するエラーIDを送信する最も良い方法は何ですか?