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

Commit 960e571

Browse files
BrennanConroyBrennanConroy
BrennanConroy
authored andcommitted
Fix unix Console colors
1 parent e6af0dc commit 960e571

File tree

3 files changed

+39
-5
lines changed

3 files changed

+39
-5
lines changed

src/Microsoft.Extensions.Logging.Console/ConsoleLogger.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ private ConsoleColors GetLogLevelConsoleColors(LogLevel logLevel)
236236
case LogLevel.Critical:
237237
return new ConsoleColors(ConsoleColor.White, ConsoleColor.Red);
238238
case LogLevel.Error:
239-
return new ConsoleColors(ConsoleColor.Red, ConsoleColor.Black);
239+
return new ConsoleColors(ConsoleColor.Black, ConsoleColor.Red);
240240
case LogLevel.Warning:
241241
return new ConsoleColors(ConsoleColor.Yellow, ConsoleColor.Black);
242242
case LogLevel.Information:

src/Microsoft.Extensions.Logging.Console/Internal/AnsiLogConsole.cs

+35-1
Original file line numberDiff line numberDiff line change
@@ -62,14 +62,34 @@ private static string GetForegroundColorEscapeCode(ConsoleColor color)
6262
{
6363
switch (color)
6464
{
65-
case ConsoleColor.Red:
65+
case ConsoleColor.Black:
66+
return "\x1B[30m";
67+
case ConsoleColor.DarkRed:
6668
return "\x1B[31m";
6769
case ConsoleColor.DarkGreen:
6870
return "\x1B[32m";
6971
case ConsoleColor.DarkYellow:
7072
return "\x1B[33m";
73+
case ConsoleColor.DarkBlue:
74+
return "\x1B[34m";
75+
case ConsoleColor.DarkMagenta:
76+
return "\x1B[35m";
77+
case ConsoleColor.DarkCyan:
78+
return "\x1B[36m";
7179
case ConsoleColor.Gray:
7280
return "\x1B[37m";
81+
case ConsoleColor.Red:
82+
return "\x1B[91m";
83+
case ConsoleColor.Green:
84+
return "\x1B[92m";
85+
case ConsoleColor.Yellow:
86+
return "\x1B[93m";
87+
case ConsoleColor.Blue:
88+
return "\x1B[94m";
89+
case ConsoleColor.Magenta:
90+
return "\x1B[95m";
91+
case ConsoleColor.Cyan:
92+
return "\x1B[96m";
7393
case ConsoleColor.White:
7494
return "\x1B[97m";
7595
default:
@@ -81,8 +101,22 @@ private static string GetBackgroundColorEscapeCode(ConsoleColor color)
81101
{
82102
switch (color)
83103
{
104+
case ConsoleColor.Black:
105+
return "\x1B[100m";
84106
case ConsoleColor.Red:
85107
return "\x1B[101m";
108+
case ConsoleColor.Green:
109+
return "\x1B[102m";
110+
case ConsoleColor.Yellow:
111+
return "\x1B[103m";
112+
case ConsoleColor.Blue:
113+
return "\x1B[104m";
114+
case ConsoleColor.Magenta:
115+
return "\x1B[105m";
116+
case ConsoleColor.Cyan:
117+
return "\x1B[106m";
118+
case ConsoleColor.White:
119+
return "\x1B[107m";
86120
default:
87121
return "\x1B[0m"; // Use default background color
88122
}

test/Microsoft.Extensions.Logging.Test/ConsoleLoggerTest.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -317,8 +317,8 @@ public void WriteError_LogsCorrectColors()
317317
// Assert
318318
Assert.Equal(3, sink.Writes.Count);
319319
var write = sink.Writes[0];
320-
Assert.Equal(ConsoleColor.Black, write.BackgroundColor);
321-
Assert.Equal(ConsoleColor.Red, write.ForegroundColor);
320+
Assert.Equal(ConsoleColor.Red, write.BackgroundColor);
321+
Assert.Equal(ConsoleColor.Black, write.ForegroundColor);
322322
write = sink.Writes[1];
323323
Assert.Equal(TestConsole.DefaultBackgroundColor, write.BackgroundColor);
324324
Assert.Equal(TestConsole.DefaultBackgroundColor, write.ForegroundColor);
@@ -744,4 +744,4 @@ public bool TryGetSwitch(string name, out LogLevel level)
744744
}
745745
}
746746
}
747-
}
747+
}

0 commit comments

Comments
 (0)