专注于分布式,性能优化,代码之美

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
}

 

posted on 2019-10-24 12:58  xiaohouye  阅读(438)  评论(0编辑  收藏  举报

导航

今日之劳累是为了铸造明日之辉煌,不管年龄多少,都无法阻挡我对软件艺术的追求!