Releases
v2.1.0
Compare
Sorry, something went wrong.
No results found
Formatting
Formattable prefix placeholders with the %{type:format} syntax, e.g. %{date:yyyy-MM-dd HH:mm:ss}
An integer format can be used on string placeholders to specify a minimum field length, e.g. %{logger:40}
%{level:pad} can be used to make log levels a constant length (alias for %{level:5})
New prefix placeholders:
%newline inserts a system-dependent newline
%{column:N} inserts padding until the column index N is reached
%loggerCompact inserts the logger name with a shortened namespace, e.g. Foo.Bar.Baz => FB.Baz
New Roslyn analyzer which validates constant prefix patterns at build-time
Added TextWriterAppender (use TextWriterAppender(Console.Out) in unit tests)
New APIs in LoggedKeyValue: ValueType, TryGetValue<T>
Unit testing
Added ZeroLogConfiguration CreateTestConfiguration() with suitable defaults for unit testing
Support for a synchronous appending strategy (on the current thread) for use in unit tests (AppendingStrategy setting)
Added LoggedMessage.Clone() to capture logged messages
Snapshot testing with Verify.ZeroLog
Configuration
Added new convenience APIs for configuration:
ZeroLogConfiguration.SetLogLevel
New LoggerConfiguration constructor overloads
New initializer syntax for adding Loggers to the collection: Loggers = { { NameA, LevelA }, { NameB, LevelB } }
Made the UseBackgroundThread setting obsolete: the worker thread is now always a background thread
Added a LogManager.Configuration property
Various
Added a pool exhaustion strategy which is allowed to allocate
Added support for DateTimeOffset
Don't flood "Pool exhausted" messages
Various optimizations and bug fixes
You can’t perform that action at this time.