Shameless plug for an open source project I run, but given the lively discussion about which .NET logging framework is more active I thought I'd post an obligatory link to Serilog .
To use within an application, Serilog is similar to (and draws heavily on) log4net. Unlike other .NET logging options, however, Serilog is about preserving the structure of log events for offline analysis. When you write:
Log.Information("The answer is {Answer}", 42);
Most logging libraries immediately render the message into a string. Serilog can do that too, but it preserves the { Answer: 42 }
property so that later on, using one of a number of NoSQL data stores, you can properly query events based on the value of Answer
.
We're close to a 1.0 and support all of the modern (. NET 4.5, Windows Store and Windows Phone 8) platforms.