@@ -13,39 +13,39 @@ module AnsiColorHelpers =
1313 // see https://learn.microsoft.com/en-us/dotnet/core/extensions/console-log-formatter#implement-custom-color-formatting
1414 let private ansiForegroundEscapeCodeOfColorConsole color =
1515 match color with
16- | ConsoleColor.Black -> " \x1B [30m"
17- | ConsoleColor.DarkRed -> " \x1B [31m"
18- | ConsoleColor.DarkGreen -> " \x1B [32m"
19- | ConsoleColor.DarkYellow -> " \x1B [33m"
20- | ConsoleColor.DarkBlue -> " \x1B [34m"
16+ | ConsoleColor.Black -> " \x1B [30m"
17+ | ConsoleColor.DarkRed -> " \x1B [31m"
18+ | ConsoleColor.DarkGreen -> " \x1B [32m"
19+ | ConsoleColor.DarkYellow -> " \x1B [33m"
20+ | ConsoleColor.DarkBlue -> " \x1B [34m"
2121 | ConsoleColor.DarkMagenta -> " \x1B [35m"
22- | ConsoleColor.DarkCyan -> " \x1B [36m"
23- | ConsoleColor.Gray -> " \x1B [37m"
24- | ConsoleColor.Red -> " \x1B [1m\x1B [31m"
25- | ConsoleColor.Green -> " \x1B [1m\x1B [32m"
26- | ConsoleColor.Yellow -> " \x1B [1m\x1B [33m"
27- | ConsoleColor.Blue -> " \x1B [1m\x1B [34m"
28- | ConsoleColor.Magenta -> " \x1B [1m\x1B [35m"
29- | ConsoleColor.Cyan -> " \x1B [1m\x1B [36m"
30- | ConsoleColor.White -> " \x1B [1m\x1B [37m"
31- | _ ->
32- #if DEBUG
22+ | ConsoleColor.DarkCyan -> " \x1B [36m"
23+ | ConsoleColor.Gray -> " \x1B [37m"
24+ | ConsoleColor.Red -> " \x1B [1m\x1B [31m"
25+ | ConsoleColor.Green -> " \x1B [1m\x1B [32m"
26+ | ConsoleColor.Yellow -> " \x1B [1m\x1B [33m"
27+ | ConsoleColor.Blue -> " \x1B [1m\x1B [34m"
28+ | ConsoleColor.Magenta -> " \x1B [1m\x1B [35m"
29+ | ConsoleColor.Cyan -> " \x1B [1m\x1B [36m"
30+ | ConsoleColor.White -> " \x1B [1m\x1B [37m"
31+ | _ ->
32+ #if DEBUG
3333 failwith $" didn't implement ansi code for color: {color}"
34- #else
34+ #else
3535 // do not break code analyzis to wrong runtime color or such thing for release
36- " \x1B [37m" // ConsoleColor.Gray
37- #endif
38-
36+ " \x1B [37m" // ConsoleColor.Gray
37+ #endif
38+
3939 let consoleColorOfLogLevel logLevel =
4040 match logLevel with
41- | LogLevel.Error -> ConsoleColor.Red
42- | LogLevel.Warning -> ConsoleColor.DarkYellow
41+ | LogLevel.Error -> ConsoleColor.Red
42+ | LogLevel.Warning -> ConsoleColor.DarkYellow
4343 | LogLevel.Information -> ConsoleColor.Blue
4444 | LogLevel.Trace -> ConsoleColor.Cyan
4545 | _ -> ConsoleColor.Gray
4646
4747 let formatMessageAsAnsiColorizedString ( color : ConsoleColor ) ( message : string ) =
48- $" {ansiForegroundEscapeCodeOfColorConsole color}{message}{ansiForegroundEscapeCodeOfColorConsole initialConsoleColor}"
48+ $" {ansiForegroundEscapeCodeOfColorConsole color}{message}{ansiForegroundEscapeCodeOfColorConsole initialConsoleColor}"
4949
5050type CustomOptions () =
5151 inherit ConsoleFormatterOptions()
@@ -72,8 +72,10 @@ type CustomFormatter(options: IOptionsMonitor<CustomOptions>) as this =
7272 )
7373 =
7474 let message = logEntry.Formatter.Invoke( logEntry.State, logEntry.Exception)
75+
7576 if formatterOptions.UseLogLevelAsPrefix then
7677 this.WritePrefix( textWriter, logEntry.LogLevel)
78+
7779 textWriter.WriteLine message
7880
7981 member private _.WritePrefix ( textWriter : TextWriter , logLevel : LogLevel ) =
0 commit comments