Announcing Seq 2 RTW
It’s with pleasure I can announce that the RTW build of Seq 2.0 is now available. What is Seq? Seq is a log server designed specifically to take advantage of modern structured logging techniques....
View ArticleContender for .NET’s Prettiest Console?
Working on the UI for Seq 2 involved a lot of time at the command line with Node.js-based tools like npm, Gulp and Mocha, and the output from these is great. There’s heaps of love put into great...
View ArticleSeq 2.1 Refresh
Since Seq 2.0 shipped a couple of weeks ago, enough small fixes and improvements have been collected to make a new point release. Seq 2.1 is ready to download, and includes: Send to app is back (#301)...
View ArticleContextual logger injection for Autofac
TL;DR: install package AutofacSerilogIntegration, call builder.RegisterLogger(), and use constructor injection of ILogger to get source type tagging. When I use Serilog, I more often than not embrace...
View ArticleSeq 2.2: Memory Efficiency, One-click Auto-refresh, Filter History
It took some restraint to get Seq 2.0 over the line: there are so many possibilities that there’s really no way everything I’d like to have done could make the cut. Now the “big bang” is over, it’s...
View ArticleSet the asterisk in project.json version numbers
I have a feeling I’ve bothered the friendly people on Jabbr twice now about how to set a value for the * (‘wildcard’) placeholder in DNX’s project.json files, so here it is for next time… :-) DNX...
View ArticleServer Efficiency and “Seq App” Input Changes in Seq 2.3
Apps are Seq extensions that drive notifications like email and Slack, stream processing, and Seq’s inbuilt dashboard charts. In earlier versions, apps used a persistent cursor into the event stream...
View ArticleAssigning event types to Serilog events
One of the most powerful benefits of structured logging is the ability to treat log events as though “typed”, so that events generated by the same logging statement can be easily (and mechanically)...
View ArticleSeq 2.4
Hot off the press and ready to download from the Seq site. Seq 2.4 is largely a maintenance release with a host of bug fixes, but amongst those are some substantial improvements. Filtering performance...
View ArticleAggregate Queries in Seq Part 1: Goals
To add a bit of variety to the format of this blog, I’ve decided to try diarising a month of programming – November 2015 to be exact, if you’re reading this in the future! This month I’ve got some...
View ArticleAggregate Queries in Seq Part 2: Defining a Syntax
So, before we go any farther we’re going to need to pin down a bit more tightly what form aggregate queries will take. There are options, options, options – but hopefully a lot will fall out of how...
View ArticleAggregate Queries in Seq Part 3: An Opportunistic Parser
It turns out the parser wasn’t a huge departure from Seq’s existing filter parser. Seq already uses Sprache to parse filter expressions, and Sprache parsers compose very nicely. After making the...
View ArticleAggregate Queries in Seq Part 4: Planning
Seq is a log server designed to collect structured log events from .NET apps. This month I’m working on adding support for aggregate queries and blogging my progress as a diary here. This is the fourth...
View ArticleAggregate Queries in Seq Part 5: Execution
Part 5 was very nearly the stalling point in this blog series. I’ve got enough of the implementation done that I can see the finish line, and I’m eager to get that build out, but to really finish the...
View ArticleAggregate Queries in Seq Part 6: Serving Data
Let’s get it out of the way up front – I didn’t manage to fit this series into November. Hrmmmmm… sorry! In the end, I prioritised getting an early preview release out ahead of finishing the blog...
View ArticleHow to notify Slack using logs from your .NET app
If your team uses Slack, it’s a great place to centralize notifications that might otherwise end up cluttering your email inbox. Commits, build results, deployments, incoming bug reports – Slack keeps...
View Article2015 in Review
Another year is almost over! I’ve looked back through the posts on this blog from the past year and made some notes in case you’re looking for some holiday reading. This was a huge year for Serilog....
View ArticleSerilog 2.0 Progress Update
TL;DR: There are now 2.0.0-rc2-final-x Serilog packages on NuGet. These are primarily for the adventurers building apps for .NET Core and ASP.NET Core (previously ASP.NET 5). If you’re not pushing...
View ArticleSerilog Tip – Don’t Serialize Arbitrary Objects
Serilog is built around the idea of structured event data, so complex structures are given first-class support. var identity = new { Name = "Alice", Email = "alice@example.com" };...
View ArticleRemote Level Control in Serilog using Seq
Logging is indispensable when it’s needed, but too much logging can be a drain on performance and resources when everything is going smoothly and you don’t need really fine-grained log data. Rather...
View Article