serilog-sinks-email
serilog-sinks-email copied to clipboard
Issues when using the HTML formatter
Using Serilog.Sinks.Email v4.0
I setup a simple test and With the HTML formatter, I'm not getting the Exception info. When I have Body commented out, I get the email I expect:
2025-02-18 07:51:27.419 -06:00 [Error] Hotmill_Background_Services - CoilJsonServices - Error: On CoilID:"Test" System.DivideByZeroException: Attempted to divide by zero. at Hotmill_Background_Services.Services.CoilJsonService.UpdateCoilJson() in C:\Users\bart.lynn\source\repos\HotMill\Stand Alone Programs\Hotmill_Background_Services\Hotmill_Background_Services\Services\CoilJsonService.cs:line 119
When I have the Body set as : Body = new MyHtmlBodyFormatter(), I get this: Hotmill_Background_Services - CoilJsonServices - Error: On CoilID:"Test"
Its like the line logEvent.RenderMessage(buffer); is not loading the Exception data. I checked, and its there:
Not sure what I have setup wrong.
In the main code I have: using var logEmail = new LoggerConfiguration() .WriteTo.Email( options: new() { From = REDACTED, To = [REDACTED], Host = REDACTED, Subject = new MessageTemplateTextFormatter("Log Messages - Hotmill_Background_Services"), Body = new MyHtmlBodyFormatter(), IsBodyHtml = true, }, batchingOptions: new() { BatchSizeLimit = 10, BufferingTimeLimit = TimeSpan.FromSeconds(30), }, restrictedToMinimumLevel: Serilog.Events.LogEventLevel.Error) .CreateLogger(); var coil = "Test";
logEmail.Error(ex, "Hotmill_Background_Services - CoilJsonServices - Error: On CoilID:{CoilId}", coil);
And the class MyHtmlBodyFormatter (from the ReadMe):
class MyHtmlBodyFormatter : IBatchTextFormatter { public void FormatBatch(IEnumerable<LogEvent> logEvents, TextWriter output) { output.Write("