Releases: falko-code/zero-logger
Releases · falko-code/zero-logger
Release v0.8.0
Full Changelog: v0.7.0...v0.8.0
Release v0.7.0
Full Changelog: v0.6.0...v0.7.0
Release v0.6.0
Full Changelog: v0.5.0...v0.6.0
Release v0.5.0
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
Release v0.4.0
Features
- Added LoggerFactoryExtensions where new extensions that allow creating a Logger directly from a Type using CreateLogger methods.
- Introduced LoggerRuntimeExtensions where provides a more modern methods for initializing LoggerRuntime.
- Implemented IDisposable for LoggerRuntime.
- Added a LoggerFactory field to LoggerRuntime that directly contains the relevant LoggerFactory.
- Added support for IFormattable in generic log arguments for the Logger.
- Added support for DefaultInterpolatedStringHandler in the Logger.
Enhancements
- Removed CreateLoggerOfObject and CreateLoggerOfMethod methods from LoggerFactory.
- Renamed CreateLoggerOf[???] methods in LoggerFactory to CreateLogger methods.
- Optimized methods in LoggerFactory.
- Optimized methods in LoggerContextBuilder, especially the Build method.
- Improved performance of LoggerRuntime methods.
- Optimized DateTimeOffsetProvider on Linux.
Fixes
- Fixed file flushing in LoggerFileTarget.
Other
- Updated License and Company Info.
- Added Package Icon.
- Updated Dependencies.
Full Changelog: 8a7b7d...v0.4.0
Release v0.3.0
Features
- Made LoggerRuntime a sealed class containing a Global instance of self (You can create many scoped LoggerRuntime's).
- Made LoggerFactory a sealed class containing a Global instance of self that references the Global instance of LoggerRuntime (Watch Examples).
- Add two properties to LogLevels: None and FatalOrAbove.
Enhancements
- Optimize DateTimeOffset formatting in SimpleLogContextRenderer for faster rendering.
- Logs with unsupported LogLevel values are ignoring more efficiently.
- Move LogLevel.IsEnabled to extension method in LogLevelExtensions.
- Add ValueStringBuilder.Append method for fixed SpanAction, allowing faster span filling without unnecessary string allocations.
Fixes
- Fix incorrect rendering of DateTimeOffset milliseconds in SimpleLogContextRenderer.
Full Changelog: v0.2.0...v0.3.0
Release v0.2.0
Features
- Add LoggerConsoleTarget and Falko.ZeroLogger.Targets.Console package for it (but the logic is primitive for now).
- Add support for seconds and milliseconds in DateTimeOffset formatting in SimpleLogContextRenderer.
- Add support for .NET 8 (but it may be slower and involve more allocations).
Enhancements
- Optimize ValueStringBuilder for faster string building (only for .NET 9).
- Optimize DateTimeOffset formatting in SimpleLogContextRenderer for faster building.
Full Changelog: v0.1.0...v0.2.0
Release v0.1.0
Full Changelog: https://github.com/falko-team/zero-logger/commits/v0.1.0