net输出错误日志

在使用net开发webapi的时候,有时候程序异常了,外面只能看到一个错误:an error occur

怎么才能将具体的 错误堆栈信息输出来呢?

1.在startup.cs文件中添加如下代码就可以将错误信息输出:

   GlobalConfiguration.Configure(c => c.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always);

代码如下:

2.Global.asax中捕获api错误信息:

protected void Application_Error(object sender, EventArgs e)
{
#region Error Log

var exp = HttpContext.Current.Server.GetLastError();

var sbErrorMsg = new StringBuilder();
sbErrorMsg.Append(DateTime.Now);
sbErrorMsg.Append(" 发生一个系统错误,如下:");
sbErrorMsg.Append("\r\n");
sbErrorMsg.Append("--------------------------------------------------------------------------------");
sbErrorMsg.Append("\r\n");

sbErrorMsg.Append("客户机IP:");
sbErrorMsg.Append(HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]);
sbErrorMsg.Append("\r\n错误地址:");
sbErrorMsg.Append(Request.Url);
sbErrorMsg.Append("\r\n上一个URL:");
sbErrorMsg.Append((Request.UrlReferrer != null ? Request.UrlReferrer.AbsoluteUri : ""));
sbErrorMsg.Append("\r\n");

var error = Common.ExceptionHelper.GetError(sbErrorMsg.ToString(), exp);

Console.WriteLine(error);
#endregion
}

猜你喜欢

转载自www.cnblogs.com/xiaohouye/p/11731580.html
今日推荐