Detecting never-before-seen event types
Perhaps the most useful, but seldom-noticed benefit of a structured log is having the first-class notion of an event type. When analyzing a traditional text-based log, there’s no concrete relationship...
View ArticleUsing attributes to control destructuring in Serilog
Serilog’s often used to log out objects as structured data. For example: log.Information("Executing {@Command}...", cmd); will attach a structured Command property to the event that can later be...
View ArticleSeq update – monthly subscriptions, updated tiers, full-featured single-user...
TL;DR: Seq 1.4 is out, and with it we’re fine tuning the licensing options. Building a software product is a continual exercise in listening, learning and adapting. Since releasing v1.0 of Seq nearly...
View ArticleSeq and Serilog around the web – August
Things have been quiet on my blog for the last few months, but certainly lively elsewhere around the web. I thought I’d post a few pointers to what’s new in the worlds of Seq and Serilog. Hey— I’ve...
View ArticleSeq 1.5 preview
TL;DR: The next point release of Seq is a bit broader in scope than what we’ve shipped in previous point releases. Storage and caching changes in Seq 1.5 bring some noticeable improvements to...
View ArticleHow (not) to parameterize Serilog events
Writing an event with Serilog is just like formatting a string: Log.Information("The time is {Time}", DateTime.Now); There’s one subtle and important difference though. The first parameter to...
View ArticleQuerying collection properties in Seq 1.5
Seq implements a filtering syntax that’s loosely based on C#. The following expression matches the events you’d expect it to, if you’re used to working with C# or a similar language: Tag == "seq" Which...
View ArticleDynamically changing the Serilog level
In the Serilog project we’re frequently asked how to adjust the logging level at runtime, and until recently we haven’t had a great answer. Many larger/distributed apps need to run at a fairly...
View ArticleViewing logs from C# mobile apps
I’ve recently been writing some code for Windows Phone, cross-compiled for iOS and Android using the Xamarin tools. The app does quite a lot of background processing, but during development and testing...
View ArticleUncorking the Seq API
The web interface of Seq connects to the server via a simple API using JSON/HTTP. (I’d call it REST, but it’s not fully IEEE 1337.00 REST-1.1 compliant ;-)) Quite a few customers integrate with the...
View ArticleGive your instrumentation some love in 2015!
This is the year for better instrumentation. On premises, applications are more integrated, distributed and asynchronous than ever The move to the cloud is driving architectures with fine-grained...
View ArticleUsing Serilog with F# Discriminated Unions
This week GitHub user vlaci called us out on awful F# support in Serilog. In their issue report they show how a nice clean discriminated union type like “Option” is represented hideously in structured...
View ArticleTagging log events for effective correlation
Correlation, at least when we’re talking diagnostic logs, is the process of finding events that are related to each other in some way. It’s typical to correlate events raised during a transaction, on a...
View ArticleC# 6 string interpolation and Serilog
It’s easy to spot the similarity between Serilog message templates: // Serilog var loggedInUserId = "nblumhardt"; Log.Information("Logged in {UserId}", loggedInUserId); and C# 6 interpolated strings:...
View ArticleA Monster Serilog Update for April 2015
Serilog is an open-source logging framework for .NET that seamlessly integrates text-based logging and fully-structured events. You can write events to regular text files, or use Serilog in combination...
View Articleserilog-generator.exe and fun with key-value settings
Some things are just fun to build, and without much concern for its general utility I thought I’d share one of them :-) serilog-generator.exe is a handy little app for exercising Serilog sinks and log...
View ArticleSeq/2 Update
When I started building Seq nearly two years ago, I expected it would be used occasionally – after all, chasing bugs in production systems isn’t something we set out to do every day :-) The first time...
View ArticleDiagnostic logging in DNX/ASP.NET 5
If you’re writing ASP.NET apps with the latest tooling, you will inevitably encounter the Microsoft.Framework.Logging package. It’s a dependency of ASP.NET MVC, WebForms and much of the related...
View ArticleSeq/2 Beta
Last month I posted the first sneak peek of what you can expect from the upcoming Seq “v2″ release. Since then, the final pieces of the UI have been put (back!) into place, bugs have been squashed, and...
View ArticleFiltering with Signals in Seq 2
Structured logs are designed for easy filtering and correlation. If you monitor apps in multiple environments for example, you’ll pretty quickly turn to structured properties like Environment as a way...
View Article