@@ -13,39 +13,39 @@ module AnsiColorHelpers =
13
13
// see https://learn.microsoft.com/en-us/dotnet/core/extensions/console-log-formatter#implement-custom-color-formatting
14
14
let private ansiForegroundEscapeCodeOfColorConsole color =
15
15
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"
21
21
| 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
33
33
failwith $" didn't implement ansi code for color: {color}"
34
- #else
34
+ #else
35
35
// 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
+
39
39
let consoleColorOfLogLevel logLevel =
40
40
match logLevel with
41
- | LogLevel.Error -> ConsoleColor.Red
42
- | LogLevel.Warning -> ConsoleColor.DarkYellow
41
+ | LogLevel.Error -> ConsoleColor.Red
42
+ | LogLevel.Warning -> ConsoleColor.DarkYellow
43
43
| LogLevel.Information -> ConsoleColor.Blue
44
44
| LogLevel.Trace -> ConsoleColor.Cyan
45
45
| _ -> ConsoleColor.Gray
46
46
47
47
let formatMessageAsAnsiColorizedString ( color : ConsoleColor ) ( message : string ) =
48
- $" {ansiForegroundEscapeCodeOfColorConsole color}{message}{ansiForegroundEscapeCodeOfColorConsole initialConsoleColor}"
48
+ $" {ansiForegroundEscapeCodeOfColorConsole color}{message}{ansiForegroundEscapeCodeOfColorConsole initialConsoleColor}"
49
49
50
50
type CustomOptions () =
51
51
inherit ConsoleFormatterOptions()
@@ -72,8 +72,10 @@ type CustomFormatter(options: IOptionsMonitor<CustomOptions>) as this =
72
72
)
73
73
=
74
74
let message = logEntry.Formatter.Invoke( logEntry.State, logEntry.Exception)
75
+
75
76
if formatterOptions.UseLogLevelAsPrefix then
76
77
this.WritePrefix( textWriter, logEntry.LogLevel)
78
+
77
79
textWriter.WriteLine message
78
80
79
81
member private _.WritePrefix ( textWriter : TextWriter , logLevel : LogLevel ) =
0 commit comments