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:

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 - a standardised FluentEmail implementation with extra goodies!

Another Lurgle Around the time that I tackled my original Serilog logging implementation, I also looked at our email alerting. Emails can be used for a variety of reasons, and it's not uncommon that they are sent as a simple string that concatenates or formats variables. In this scenario, the...

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

Multi-threaded correlation ids were not a thing Following on from my work on Seq.Client.WindowsLogins and the subsequent realisation that EventLog's EntryWritten event handler is bad and should feel bad, I contemplated whether I could apply some of my efforts to solve another issue that had been bugging me. Lurgle.Logging was...