This enables greater code reuse and also enables more advanced use cases such as logging with colors to a file.
Example:
loggingBuilder.AddTinyLogger(options =>
{
options.AddFile("sample.log", new AnsiColorLogFormatter());
});Changes
- Refactor console renderers and introduce log formatter concept
- Scan service collection instead of using static to fix registration issue
Breaking changes
Most simpler use cases should work without changes, but there were some breaking changes to support the log formatter refactor.
- Removed
PlainTextConsoleRenderer, usenew ConsoleRenderer(PlainTextLogFormatter.Instance)instead - Removed
AnsiConsoleRenderer, usenew ConsoleRenderer(new AnsiColorLogFormatter())instead - Removed
TrueColorConsoleRenderer, usenew ConsoleRenderer(new TrueColorLogFormatter())instead - Color themes moved to
TinyLogger.Themesand are renamed toIAnsiColorThemeandITrueColorThemerespectively with default color classes namedDefaultAnsiColorThemeandDefaultTrueColorTheme - File renderer and stream renderers require a log formatter