public void DiagnosticsTraceWriterTest() { StringWriter sw = new StringWriter(); TextWriterTraceListener listener = new TextWriterTraceListener(sw); try { Trace.AutoFlush = true; Trace.Listeners.Add(listener); DiagnosticsTraceWriter traceWriter = new DiagnosticsTraceWriter(); traceWriter.Trace(TraceLevel.Verbose, "Verbose!", null); traceWriter.Trace(TraceLevel.Info, "Info!", null); traceWriter.Trace(TraceLevel.Warning, "Warning!", null); traceWriter.Trace(TraceLevel.Error, "Error!", null); traceWriter.Trace(TraceLevel.Off, "Off!", null); Assert.AreEqual(@"BESSy.Json Verbose: 0 : Verbose! BESSy.Json Information: 0 : Info! BESSy.Json Warning: 0 : Warning! BESSy.Json Error: 0 : Error! ", sw.ToString()); } finally { Trace.Listeners.Remove(listener); Trace.AutoFlush = false; } }
public static void SerializeToJson(IEnumerable <Gallery> galleries, Stream stream) { using (StreamWriter sw = new StreamWriter(stream)) { JsonSerializer serializer = new JsonSerializer(); serializer.Formatting = Formatting.None; serializer.MissingMemberHandling = MissingMemberHandling.Ignore; serializer.NullValueHandling = NullValueHandling.Ignore; #if DEBUG DiagnosticsTraceWriter tw = new DiagnosticsTraceWriter(); tw.LevelFilter = System.Diagnostics.TraceLevel.Verbose; serializer.TraceWriter = tw; #endif serializer.Serialize(sw, galleries.ToArray()); } }