public void TraceWriter_IFormatProvider(Func <ILogger, string, TraceLevel> loggerAction) { string message = "Hello, World!"; // Need to explicity define lowest level. LoggerConfiguration loggerConfiguration = new LoggerConfiguration().MinimumLevel.Verbose(); InMemoryTraceWriter traceWriter = new InMemoryTraceWriter(TraceLevel.Verbose); loggerConfiguration = loggerConfiguration.WriteTo.TraceWriter(traceWriter, "{Message}"); ILogger logger = loggerConfiguration.CreateLogger(); Assert.Equal(0, traceWriter.Events.Count); TraceLevel expectedTraceLevel = loggerAction(logger, message); Assert.Equal(1, traceWriter.Events.Count); TraceEvent traceEvent = traceWriter.Events.First(); Assert.Equal(message, traceEvent.Message); Assert.Equal(expectedTraceLevel, traceEvent.Level); }