diff --git a/ExtremelySimpleLogger/ConsoleSink.cs b/ExtremelySimpleLogger/ConsoleSink.cs
index 9e2cde2..c301712 100644
--- a/ExtremelySimpleLogger/ConsoleSink.cs
+++ b/ExtremelySimpleLogger/ConsoleSink.cs
@@ -24,12 +24,14 @@ namespace ExtremelySimpleLogger {
///
/// The log level to set the color for
/// The color to use, or a with no value to clear the current color
- public virtual void SetColor(LogLevel level, ConsoleColor? color) {
+ /// This instance, for chaining
+ public virtual ConsoleSink SetColor(LogLevel level, ConsoleColor? color) {
if (color.HasValue) {
this.ConsoleColors[level] = color.Value;
} else {
this.ConsoleColors.Remove(level);
}
+ return this;
}
///
@@ -52,11 +54,11 @@ namespace ExtremelySimpleLogger {
/// The message to log
protected override void Log(Logger logger, LogLevel level, string s) {
lock (this.locker) {
- var hasColor = this.ConsoleColors.TryGetValue(level, out var color);
- if (hasColor)
- Console.ForegroundColor = color;
+ var color = this.GetColor(level);
+ if (color.HasValue)
+ Console.ForegroundColor = color.Value;
Console.WriteLine(s);
- if (hasColor)
+ if (color.HasValue)
Console.ResetColor();
}
}