protected override async Task DoFlushAsync(LogWriteContext context, IEnumerable <LogEventInfo> toFlush) { #if REF_ASSM await Task.Delay(0); throw new InvalidOperationException("Cannot use ref assm at runtime"); #else // create a json object... var env = new LoggingEnvironment(); var wrapper = new JsonPostWrapper(env, toFlush); var json = wrapper.ToJson(); // send... var client = new HttpClient(); var content = new StringContent(json); content.Headers.ContentType.MediaType = "text/json"; // call... OnBeforePost(new HttpClientEventArgs(client)); // send... await client.PostAsync(Url, content); #endif }
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { var env = new LoggingEnvironment(); // walk... string prop = null; while (reader.Read()) { if (reader.TokenType == JsonToken.PropertyName) { prop = Convert.ToString(reader.Value); } else if (reader.TokenType == JsonToken.EndObject) { break; } // set... env.Values[prop] = reader.Value; } // return... return(env); }
protected override async Task DoFlushAsync(LogWriteContext context, IEnumerable<LogEventInfo> toFlush) { #if REF_ASSM await Task.Delay(0); throw new InvalidOperationException("Cannot use ref assm at runtime"); #else // create a json object... var env = new LoggingEnvironment(); var wrapper = new JsonPostWrapper(env, toFlush); var json = wrapper.ToJson(); // send... var client = new HttpClient(); var content = new StringContent(json); content.Headers.ContentType.MediaType = "text/json"; // call... OnBeforePost(new HttpClientEventArgs(client)); // send... await client.PostAsync(Url, content); #endif }