1、webapi项目 添加nuget exceptionless webapi
2、在exceptionless server端添加项目,注意key
3、修改api项目的webconfig
<appSettings> <add key="Exceptionless:ServerUrl" value="http://47.93.86.137:9001"/> </appSettings> <exceptionless apiKey="eUqwA9AQ8DUiR5WGf3XCPNfj3OOXyz7CuCTIgyR5" />
4、修改global
public class WebApiApplication : System.Web.HttpApplication { protected void Application_Start() { GlobalConfiguration.Configure(WebApiConfig.Register); GlobalConfiguration.Configuration.Filters.Add(new LogFilterAttribute()); log4net.Config.XmlConfigurator.Configure(new FileInfo(Server.MapPath("~") + @"ConfigLog4net.config")); ExceptionlessClient.Default.RegisterWebApi(GlobalConfiguration.Configuration); } }
5、logAttribute
public class LogFilterAttribute : ActionFilterAttribute { /// <summary> /// Action执行后 /// </summary> /// <param name="actionExecutedContext"></param> public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext) { string url = actionExecutedContext.ActionContext.Request.RequestUri.ToString(); var requestParameters = actionExecutedContext.ActionContext.ActionArguments; var requestParametersString=Newtonsoft.Json.JsonConvert.SerializeObject(requestParameters); if (actionExecutedContext.Exception != null) { string error = $"Exception:{DateTime.Now}(ㄒoㄒ){url}(ㄒoㄒ){requestParametersString}(ㄒoㄒ){actionExecutedContext.Exception.Message}"; LogHeper.Write(error,LogMessageEnum.Error); //Exceptionless ExceptionlessClient.Default.CreateLog(error).Submit(); } } }