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);
        }