The other day I was integration testing a Saga in the kliento code base. The tests failed and I wanted to skim through the logs to find something meaningful.
Scrolling through thousands of lines of log in a monochrome style is no fun... (to me this approach sometimes is easier than debugging anyway).
First things first: how do I get this output?
When spinning up my tests in Alba, I'm registering a XUnit sink for Serilog, so I get my logs redirected to the test output window in Rider:
public class When_recording_a_lead_inquiry_from_email : IAsyncLifetime
_testOutputHelper = testOutputHelper;
public async Task InitializeAsync()
var testServices = new TestServices();
var configuration = await testServices.GetTestConfigurationRoot();
var serilogLogger = Log.Logger = new LoggerConfiguration()
var dotnetILogger = new SerilogLoggerFactory(serilogLogger)
var builder = ConfigureHost.GetHostBuilder(
// arrange act assert...
My test output looks like this then:
While scrolling through the look I was thinking "would be nice if there would be some color coding for the log in Rider...".
And the next step was to spin up a search which eventually ended up on the landing page for "GrepConsole", a plugin for IntelliJ based IDEs like Rider which does exactly what I was looking for: colorize my test output logs.
After playing around with some settings, my logs now look like this:
Much easier to spot exceptions, isn't it?
What's even better: you can add arbitrary expressions to filter and colorize fragments or lines.
So I set up a section for regular .NET log output colors and I added another one for Wolverine status messages. That way I can easily spot successful or failed messages.
That's my GrepConsole config so far:
Right now, there's only one downside: I didn't find a way in Rider to export/import these settings although this seems to work in other JetBrains IDEs.
Looks like the settings get synced using repository sync 🎉️