private Task HandleExceptionAsync(HttpContext context, Exception ex) { var result = JsonConvert.SerializeObject(new { error = ex.Message }); string[] fullpath = context.Request.Path.ToString().Split('/'); string controller = "null"; string action = "null"; if (fullpath.Length == 5) { controller = fullpath[3]; action = fullpath[4]; } LOG_WEB_API_ERROR data = new LOG_WEB_API_ERROR() { LOG_DATE = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss", new CultureInfo("en-US")), CLIENT_IP = Dns.GetHostEntry(Dns.GetHostName()).AddressList.FirstOrDefault(ip => ip.AddressFamily == AddressFamily.InterNetwork).ToString(), SERVER_IP = Dns.GetHostEntry(Dns.GetHostName()).AddressList.FirstOrDefault(ip => ip.AddressFamily == AddressFamily.InterNetwork).ToString(), ERROR_MESSAGE = result, LOG_LEVEL = "Error", SERVICE_NAME = string.Format("{0}/{1}", controller, action), SERVICE_TYPE = "I" }; Logger(data); return(context.Response.WriteAsync(result)); }
public void ExceptionLogfile(LOG_WEB_API_ERROR data) { try { NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); logger = LogManager.GetLogger("LogfileException"); NLog.MappedDiagnosticsContext.Set("APPNAME", "api"); NLog.MappedDiagnosticsContext.Set("LOG_LEVEL", data.LOG_LEVEL); NLog.MappedDiagnosticsContext.Set("SERVICE_NAME", data.SERVICE_NAME); NLog.MappedDiagnosticsContext.Set("SERVICE_TYPE", data.SERVICE_TYPE); NLog.MappedDiagnosticsContext.Set("ERROR_MESSAGE", data.ERROR_MESSAGE); NLog.MappedDiagnosticsContext.Set("SERVER_IP", data.SERVER_IP); NLog.MappedDiagnosticsContext.Set("CLIENT_IP ", data.CLIENT_IP); NLog.MappedDiagnosticsContext.Set("LOG_DATE", data.LOG_DATE); logger.Log(NLog.LogLevel.Trace, ""); } catch (Exception e) { e.Message.ToString(); } }
private void Logger(LOG_WEB_API_ERROR data) { LogController log = new LogController(_logger, _configuration); log.ExceptionLogfile(data); }