Mindscape.Raygun4Net.RaygunClient.Send C# (CSharp) 메소드

Send() 공개 메소드

Posts a RaygunMessage to the Raygun api endpoint.
public Send ( RaygunMessage raygunMessage ) : Task
raygunMessage RaygunMessage The RaygunMessage to send. This needs its OccurredOn property /// set to a valid DateTime and as much of the Details property as is available.
리턴 Task
    public async Task Send(RaygunMessage raygunMessage)
    {
      if (ValidateApiKey())
      {
        bool canSend = OnSendingMessage(raygunMessage) && CanSend(raygunMessage);
        if (canSend)
        {
          using (var client = new HttpClient())
          {
            HttpRequestMessage requestMessage = new HttpRequestMessage(HttpMethod.Post, _settings.ApiEndpoint);

            requestMessage.Headers.Add("X-ApiKey", _apiKey);

            try
            {
              var message = SimpleJson.SerializeObject(raygunMessage);
              requestMessage.Content = new StringContent(message, Encoding.UTF8, "application/json");
              var result = await client.SendAsync(requestMessage);
              if(!result.IsSuccessStatusCode)
              {
                Debug.WriteLine($"Error Logging Exception to Raygun {result.ReasonPhrase}");

                if (_settings.ThrowOnError)
                {
                  throw new Exception("Could not log to Raygun");
                }
              }
            }
            catch (Exception ex)
            {
              Debug.WriteLine(string.Format("Error Logging Exception to Raygun {0}", ex.Message));

              if (_settings.ThrowOnError)
              {
                throw;
              }
            }
          }
        }
      }
    }
  }

Same methods

RaygunClient::Send ( Exception exception ) : void
RaygunClient::Send ( Exception exception, IList tags ) : void
RaygunClient::Send ( Exception exception, IList tags, IDictionary userCustomData ) : void
RaygunClient::Send ( Exception exception, IList tags, IDictionary userCustomData, HttpContext context ) : void
RaygunClient::Send ( Exception exception, IList tags, IDictionary userCustomData, RaygunIdentifierMessage userInfo ) : void
RaygunClient::Send ( PulseEventBatch batch ) : void
RaygunClient::Send ( RaygunMessage raygunMessage ) : void
RaygunClient::Send ( RaygunMessage raygunMessage, int timeout ) : void
RaygunClient::Send ( RaygunPulseMessage raygunPulseMessage ) : void
RaygunClient::Send ( string message ) : void

Usage Example

예제 #1
0
 private static void TaskScheduler_UnobservedTaskException(object sender, UnobservedTaskExceptionEventArgs e)
 {
     if (e.Exception != null)
     {
         _client.Send(e.Exception);
     }
 }
All Usage Examples Of Mindscape.Raygun4Net.RaygunClient::Send