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:

Lurgle.Logging


Lurgle.Alerting


 

 

 

 

Comments

You may also like:

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...

Seq.App.EventTimeout v1.4.5 Released

I've released a new update to Event Timeout for Seq, which improves the handling of 24 hour windows (eg. Start 00:00, End 00:00) and how repeat timeouts operate. Ordinarily, Event Timeout is forward looking - it always calculates the next start time if the configured start time would fall in...