Serilog Timings
TL;DR: I’ve just kicked off development of Serilog Timings, a tiny package that adds streamlined operation timings on top of Serilog.Though there are a million ways to collect timing data from...
View ArticleWhich logging abstraction should I use?
If you’re writing .NET apps or libraries for your own use, well, you can choose and use whatever logging facility you like.If you want to write packages for others to consume, your best bet is to avoid...
View ArticleSerilog 2.0 Release Plans
.NET Core and ASP.NET Core are expected to release-to-web by the end of June 2016. There have been a few related announcments recently, surrounding the split of the runtime release (end of June) from...
View ArticleStructured logging concepts in .NET Series (1)
Between now and the Serilog 2.0 release that’s due sometime in July, I’ve decided to go back to basics and write some posts on the fundamentals of modern structured logging in .NET.In the complex,...
View ArticleEvents and levels - structured logging concepts in .NET (2)
Introductions are tough, I’m glad that’s out of the way. This post is going to dig straight into events and levels. If concepts like events, timestamps and logging levels are old news for you, this...
View ArticleMessage templates and properties – structured logging concepts in .NET (3)
This post is the third in a series; start here.Trojan eventingA long time ago I encountered a library called Bamboo.Prevalence, by the amazing Rodrigo “Bamboo” de Oliveira. Following Java’s Prevayler,...
View ArticleSerilog 2.0 JSON improvements
Serilog 2.0 is out! There’s an Upgrade Guide and Release Notes already posted on the Serilog site, and a good number of first- and third-party packages have already been updated to work with the new...
View ArticleEvent types – structured logging concepts in .NET (4)
Structured logging is awesome, but the top reason for me is easily overlooked:There are orders of magnitude more events in a log than there are logging statements that generated them.Have you ever...
View ArticleSerilog 2.0 short level names
Serilog renders plain text logs in a simple format with each event’s timestamp, level and message:2016-07-18 08:53:53.691 +10:00 [Information] Starting up at 07/18/2016 08:53:53 2016-07-18 08:54:23.716...
View ArticleSerilog 2.0 adventures with sub-loggers
The WriteTo.Logger() method pipes events from one Serilog logger into another. While this has been around since Serilog 1.3, some rough edges made it harder to configure correctly than it should have...
View Article