Lurgle.Logging v1.1.14 and Lurgle.Alerting v1.1.9 Released

I've pushed out updates to Lurgle.Logging and Lurgle.Alerting today.

The Lurgle.Logging update is minor - I noticed that Log.Add wasn't correctly passing the calling method, source file, and line number.

Lurgle.Alerting has received a more substantial update:

  • Alerting.IsDebug is a global boolean variable that is set via Alerting.SetDebug().  When set, it will ensure that recipients are automatically replaced with the debug email address. If you have a "debug mode" that can be switched on or off for your app, just make sure you set Alerting.IsDebug(true) for debug mode, configure MailDebug, and let Lurgle make sure you don't accidentally leak data while testing!
  • MailDebug is a new setting for the debug email address. This affords opportunity to differentiate a debug email address from your default MailTo address. 
  • Comma- (or semi-colon) delimited email address  strings will now always be consistently handled. If a delimited email address string is passed to one of the To(), Cc(), or Bcc() methods, it will automatically be parsed into the list of recipients.
  • Alert.From() and ReplyTo() also handle comma-delimited strings, but since these can only contain one email address - the first valid email address will be selected.
  • Invalid email addresses will automatically be filtered out
  • The Alerting.Init() method will automatically validate that the MailHost, MailFrom, MailTo, MailDebug, and MailSubject config values have been configured.
  • All Alerting.Init() failures are reported via the Alerting.AlertFailures static list, for handling via your code.

This helps to make Lurgle.Alerting even more useful and reliable!

You can get the updated Lurgles via the following fancy links:








You may also like:

Event Timeout for Seq v1.4.2 released

A new release of Seq.App.EventTimeout is out. This was a little earlier than I planned to release v1.4.x, but there was a bug in the AbstractAPI deserialization as a result of some code refactoring which I'd missed. As usual, you can install Event Timeout for Seq using Seq.App.EventTimeout as the...

Lurgle.Logging - a standardised Serilog implementation with extra goodies!

Logging is important Logging is a really important, oft-neglected, aspect of business applications. I can't state that enough. If you don't have good logging, you can't troubleshoot and debug problems, and you have little chance of seeing what's actually going on in your enterprise. In Structured Logging with Seq and Serilog,...

Lurgle.Alerting v1.1.10 and Lurgle.Logging v1.1.15 Released

I've just pushed out an update to Lurgle.Alerting on Nuget. This release adds a Handlebars template option, based on the implementation by Matthew Turner at FluentEmail.Handlebars ( When I came across the FluentEmail.Handlebars package, I was keen to use it, but it was only compiled against .NET Standard 2.1, and...