You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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 logEvents, TextWriter output)
{
output.Write("
output.Write("</table>");
}
public void Format(LogEvent logEvent, TextWriter output)
{
using var buffer = new StringWriter();
logEvent.RenderMessage(buffer);
output.Write(WebUtility.HtmlEncode(buffer.ToString()));
}
}
The text was updated successfully, but these errors were encountered:
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 logEvents, TextWriter output)
{
output.Write("
foreach (var logEvent in logEvents)
{
output.Write("");
Format(logEvent, output);
output.Write("");
}
}
The text was updated successfully, but these errors were encountered: