private async Task ProcessQueue()
        {
            try
            {
                do
                {
                    var count = 0;
                    var events = new Queue<LogEvent>();
                    LogEvent next;

                    while (count < _batchSizeLimit && _queue.TryDequeue(out next))
                    {
                        count++;
                        events.Enqueue(next);
                    }

                    if (events.Count == 0)
                        return;

                    var sw = new StringWriter();

                    foreach (var logEvent in events)
                    {
                      
                        
                        var payload = new Data { Event = logEvent };

                        _jsonFormatter.Format(logEvent, sw);

                        var logEventAsAString = sw.ToString();

                        var plainPayload = "{'event':";
                        plainPayload = plainPayload + logEventAsAString;
                        plainPayload = plainPayload + "}";
                       // var plainPayload = string.Format(@"{'event':{0}}",logEventAsAString);

                        dynamic dynamicLogEvent = JsonConvert.DeserializeObject(logEventAsAString);
                        payload.Event = dynamicLogEvent;

                        var serializedPayload = JsonConvert.SerializeObject(payload);

                        using (var client = new HttpClient())
                        {
                            //var stringContent = new StringContent(plainPayload, Encoding.UTF8, "application/json");
                            var stringContent = new StringContent(serializedPayload, Encoding.UTF8, "application/json");

                            var request = new HttpRequestMessage
                            {
                                RequestUri = new Uri(_splunkHost),
                                Content = stringContent
                            };

                            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Splunk", _eventCollectorToken);

                            request.Method = HttpMethod.Post;

                            var response = await client.SendAsync(request);

                            if (response.IsSuccessStatusCode)
                            {
                            }
                        }


                    }


                    //All log message data
                    // var message = Encoding.UTF8.GetBytes(sw.ToString());

                    //  await DoIt(sw.ToString());
                } while (true);
            }
            catch (Exception ex)
            {
                SelfLog.WriteLine("Exception while emitting batch from {0}: {1}", this, ex);
            }
        }
        private static async Task DoIt(string data)
        {
            var uri = "https://mysplunk:8088/services/collector";

            var d = new Data {Event = data};

            using (var client = new HttpClient())
            {
                var stringContent = new StringContent(JsonConvert.SerializeObject(d), Encoding.UTF8, "application/json");

                var request = new HttpRequestMessage
                {
                    RequestUri = new Uri(uri),
                    Content = stringContent
                };

                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Splunk",
                    "DDCB3B16-9EC4-47ED-B2C1-3775DE291DBF");

                request.Method = HttpMethod.Post;

                var response = await client.SendAsync(request);

                if (response.IsSuccessStatusCode)
                {
                    //  Log.Information("yeah");
                }
            }
        }