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 using some older versions of FluentEmail.Core and Handlebars.Net. Lurgle.Alerting targets support for .NET 4.6.1 as a minimum, and aims to keep dependencies updated.

None of these are insurmountable and I initially looked at forking, updating, and sending a pull back to the project; however the implementation itself was quite simple with only a couple of classes and a few methods, and so I decided to include the code in Lurgle.Alerting with acknowledgement and links back to the source repository.

If I were substantively improving the code, of course, I'd have gone down the forking pull path. The goal is to provide multiple rendering options in Lurgle.Alerting, allowing a choice in implementation. More choice is better.

I've also recently updated Lurgle.Logging with a minor update - if LogFolder is not specified in the config, Lurgle.Logging provides a fallback config of using the same folder as your executable... or it was meant to. It was actually returning the full path including the executable ... so I fixed that.

The Lurgle links below are so fancy that you can click them and get the latest version:





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 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: This helps to make Lurgle.Alerting even more useful and reliable! You can get...

Lurgle.Logging v1.2.0 - Multi-threaded correlation ids are now a thing

Implementing Multi-Threaded Lurgles If we revisit my example from earlier, we'll see a much simpler implementation for multi-threaded code; Log.Level().Add("Here is my log entry"); Log.Level(LurgLevel.Error).Add("Oh no! An error!"); Log.Level().Add("Phew ... moment passed"); Log.Level(correlationId: Logging.NewCorrelationId()).Add("After all that, I'd really like a different correlation id"); Log.Level(LurgLevel.Debug).Add("CorrelationId is {CorrelationId}"); You can see...