Repository navigation
Release v0.5.0
Pre-release
Pre-release
Features
- Added a LogMessageArgument static class to create LogMessageArgument structs in a more concise way.
- Added Emit methods to Logger that allow specifying the LogLevel directly.
Enhancements
- Added a ToString override for the LogMessageArgument struct.
- Added a ToFactory method for the LogMessageArgument struct.
- Optimized methods in SimpleLogContextRenderer.
Fixes
- Fixed a bug in LogContext construction when no renderers were available.
Other
- Added tests.
Samples
New extensions for LogMessageArgument
// new
Logger.Debug
(
static () => "{MethodName} is called with {NumberArgumentName} {NumberArgumentValue}",
LogMessageArgument.Create(static () => nameof(SetNumber)),
LogMessageArgument.Create(static () => nameof(number)),
LogMessageArgument.Create(number, static number => number.ToString())
);
// old
Logger.Debug
(
static () => "{MethodName} is called with {NumberArgumentName} {NumberArgumentValue}",
new LogMessageArgument<LogMessageArgumentFactory>
(
static () => nameof(SetNumber),
static factory => factory()
),
new LogMessageArgument<LogMessageArgumentFactory>
(
static () => nameof(number),
static factory => factory()
),
new LogMessageArgument<int>
(
number,
static number => number.ToString()
)
);New ToFactory method for LogMessageArgument
Logger.Debug
(
static () => "{MethodName} is called with {NumberArgumentName} {NumberArgumentValue}",
static () => nameof(SetNumber),
static () => nameof(number),
LogMessageArgument.Create(number, static number => number.ToString()).ToFactory()
);New Emit methods for Logger
Logger.Emit(LogLevel.Info, "Example");Full Changelog: v0.4.0...v0.5.0