Skip to content
This repository has been archived by the owner on Dec 13, 2018. It is now read-only.

Commit

Permalink
Fix unix Console colors
Browse files Browse the repository at this point in the history
  • Loading branch information
BrennanConroy authored and BrennanConroy committed May 24, 2016
1 parent e6af0dc commit 960e571
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 5 deletions.
2 changes: 1 addition & 1 deletion src/Microsoft.Extensions.Logging.Console/ConsoleLogger.cs
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,7 @@ private ConsoleColors GetLogLevelConsoleColors(LogLevel logLevel)
case LogLevel.Critical:
return new ConsoleColors(ConsoleColor.White, ConsoleColor.Red);
case LogLevel.Error:
return new ConsoleColors(ConsoleColor.Red, ConsoleColor.Black);
return new ConsoleColors(ConsoleColor.Black, ConsoleColor.Red);
case LogLevel.Warning:
return new ConsoleColors(ConsoleColor.Yellow, ConsoleColor.Black);
case LogLevel.Information:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,14 +62,34 @@ private static string GetForegroundColorEscapeCode(ConsoleColor color)
{
switch (color)
{
case ConsoleColor.Red:
case ConsoleColor.Black:
return "\x1B[30m";
case ConsoleColor.DarkRed:
return "\x1B[31m";
case ConsoleColor.DarkGreen:
return "\x1B[32m";
case ConsoleColor.DarkYellow:
return "\x1B[33m";
case ConsoleColor.DarkBlue:
return "\x1B[34m";
case ConsoleColor.DarkMagenta:
return "\x1B[35m";
case ConsoleColor.DarkCyan:
return "\x1B[36m";
case ConsoleColor.Gray:
return "\x1B[37m";
case ConsoleColor.Red:
return "\x1B[91m";
case ConsoleColor.Green:
return "\x1B[92m";
case ConsoleColor.Yellow:
return "\x1B[93m";
case ConsoleColor.Blue:
return "\x1B[94m";
case ConsoleColor.Magenta:
return "\x1B[95m";
case ConsoleColor.Cyan:
return "\x1B[96m";
case ConsoleColor.White:
return "\x1B[97m";
default:
Expand All @@ -81,8 +101,22 @@ private static string GetBackgroundColorEscapeCode(ConsoleColor color)
{
switch (color)
{
case ConsoleColor.Black:
return "\x1B[100m";
case ConsoleColor.Red:
return "\x1B[101m";
case ConsoleColor.Green:
return "\x1B[102m";
case ConsoleColor.Yellow:
return "\x1B[103m";
case ConsoleColor.Blue:
return "\x1B[104m";
case ConsoleColor.Magenta:
return "\x1B[105m";
case ConsoleColor.Cyan:
return "\x1B[106m";
case ConsoleColor.White:
return "\x1B[107m";
default:
return "\x1B[0m"; // Use default background color
}
Expand Down
6 changes: 3 additions & 3 deletions test/Microsoft.Extensions.Logging.Test/ConsoleLoggerTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -317,8 +317,8 @@ public void WriteError_LogsCorrectColors()
// Assert
Assert.Equal(3, sink.Writes.Count);
var write = sink.Writes[0];
Assert.Equal(ConsoleColor.Black, write.BackgroundColor);
Assert.Equal(ConsoleColor.Red, write.ForegroundColor);
Assert.Equal(ConsoleColor.Red, write.BackgroundColor);
Assert.Equal(ConsoleColor.Black, write.ForegroundColor);
write = sink.Writes[1];
Assert.Equal(TestConsole.DefaultBackgroundColor, write.BackgroundColor);
Assert.Equal(TestConsole.DefaultBackgroundColor, write.ForegroundColor);
Expand Down Expand Up @@ -744,4 +744,4 @@ public bool TryGetSwitch(string name, out LogLevel level)
}
}
}
}
}

0 comments on commit 960e571

Please sign in to comment.