Пример #1
0
        // Log 404 or 400 errors
        public async Task LogHttpResponseException(HttpResponseExceptionVM vm)
        {
            string domain    = HttpContext.Request.Host.Value;
            string ipAddress = _clientIP.GetClientIP();

            try
            {
                await _context.HttpResponseException.AddAsync(new HttpResponseException
                {
                    CreateDate = DateTime.UtcNow,
                    Status     = vm.Status,
                    Error      = vm.Error,
                    IpAddress  = ipAddress,
                    Message    = vm.Message,
                    UserId     = vm.UserId ?? "ANONYMOUS"
                });

                await _context.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                // 이멜 너무 많이 들어올까봐 커맨트아웃함
                //await _email.SendEmailAsync("*****@*****.**", "*****@*****.**", "[엑소더스 코리아] HttpResponseException 추가 오류", ex.ToString(), null);
            }
            // Skip sending email notification for Not Found 404 error
            //if (vm.Status != 404)
            //{
            //    vm.Username = vm.Username ?? "ANONYMOUS";

            //    string subject = "[엑소더스 코리아] " + vm.Status + " 오류";
            //    string body = "Domain: " + domain + "\r\n\r\n"
            //                   + "Status: " + vm.Status + "\r\n\r\n"
            //                   + "Username: "******"\r\n\r\n"
            //                   + "IP Address: " + ipAddress + "\r\n\r\n"
            //                   + "Error: " + vm.Error + "\r\n\r\n"
            //                   + "Message: " + vm.Message + "\r\n\r\n"
            //                   + "Inputs: " + "\r\n\r\n";

            //    if (HttpContext.Request.HasFormContentType)
            //    {
            //        var form = HttpContext.Request.Form.ToDictionary(x => x.Key, x => x.Value.ToString());
            //        foreach (KeyValuePair<string, string> entry in form)
            //            body += "Control: " + entry.Key + "; Value: " + entry.Value + "\r\n";
            //    }

            //    await _email.SendEmailAsync("*****@*****.**", "*****@*****.**", subject, body, null);
            //}
        }
Пример #2
0
        public async Task <IActionResult> LogLoggedInHttpResponseException([FromBody] HttpResponseExceptionVM vm)
        {
            await _logDataService.LogHttpResponseException(vm);

            return(new NoContentResult());
        }