protected override void Append(LoggingEvent loggingEvent)
        {
            if (string.IsNullOrEmpty(ApiKey)) return;

            List<string> tags = (Tags ?? "").Split(new[] {","}, StringSplitOptions.RemoveEmptyEntries).ToList();

            tags = tags.Concat(EnvironmentalTags).OrderBy(x => x).Distinct().ToList();

            string text = RenderLoggingEvent(loggingEvent);

            string title = BuildTitle(loggingEvent, text);

            string priority = (loggingEvent.Level >= Level.Error) ? "normal" : "low";

            string alertType = GetAlertType(loggingEvent);

	        string aggregateKey = new AggregationKeyCalculator().Calculate(title, loggingEvent.LoggerName);

            var datadogEvent = new DatadogEvent
            {
                Tags = tags,
                AlertyType = alertType,
                Priority = priority,
                Text = text,
                Title = title,
				AggregationKey = aggregateKey
            };

            PostEvent(datadogEvent).Wait();
        }
        protected override void Append(LoggingEvent loggingEvent)
        {
            if (string.IsNullOrEmpty(ApiKey))
            {
                return;
            }

            List <string> tags = (Tags ?? "").Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries).ToList();

            tags = tags.Concat(EnvironmentalTags).OrderBy(x => x).Distinct().ToList();

            string text = RenderLoggingEvent(loggingEvent);

            string title = BuildTitle(loggingEvent, text);

            string priority = (loggingEvent.Level >= Level.Error) ? "normal" : "low";

            string alertType = GetAlertType(loggingEvent);

            string aggregateKey = new AggregationKeyCalculator().Calculate(title, loggingEvent.LoggerName);

            var datadogEvent = new DatadogEvent
            {
                Tags           = tags,
                AlertyType     = alertType,
                Priority       = priority,
                Text           = text,
                Title          = title,
                AggregationKey = aggregateKey
            };

            PostEvent(datadogEvent).Wait();
        }
        async Task PostEvent(DatadogEvent datadogEvent)
        {
            var content = new ObjectContent(typeof(DatadogEvent), datadogEvent, formatter, "application/json");
            HttpResponseMessage response = await client.PostAsync(string.Format("v1/events?api_key={0}", ApiKey), content);

            response.EnsureSuccessStatusCode();
        }
 async Task PostEvent(DatadogEvent datadogEvent)
 {
     var content = new ObjectContent(typeof (DatadogEvent), datadogEvent, formatter, "application/json");
     HttpResponseMessage response = await client.PostAsync(string.Format("v1/events?api_key={0}", ApiKey), content);
     response.EnsureSuccessStatusCode();
 }