From cf2c80d5f4839e1a77f70a9d58b3f34ba3baf03c Mon Sep 17 00:00:00 2001 From: Ivan Maximov Date: Sat, 16 Mar 2024 11:18:14 +0300 Subject: [PATCH] Support NO_COLOR environment variable --- .../ConsoleAuditLoggerConfigurationExtensions.cs | 3 ++- .../ConsoleLoggerConfigurationExtensions.cs | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/Serilog.Sinks.Console/ConsoleAuditLoggerConfigurationExtensions.cs b/src/Serilog.Sinks.Console/ConsoleAuditLoggerConfigurationExtensions.cs index 6073c37..370147e 100644 --- a/src/Serilog.Sinks.Console/ConsoleAuditLoggerConfigurationExtensions.cs +++ b/src/Serilog.Sinks.Console/ConsoleAuditLoggerConfigurationExtensions.cs @@ -63,7 +63,8 @@ public static LoggerConfiguration Console( if (sinkConfiguration is null) throw new ArgumentNullException(nameof(sinkConfiguration)); if (outputTemplate is null) throw new ArgumentNullException(nameof(outputTemplate)); - var appliedTheme = !applyThemeToRedirectedOutput && (System.Console.IsOutputRedirected || System.Console.IsErrorRedirected) ? + // see https://no-color.org/ + var appliedTheme = !applyThemeToRedirectedOutput && (System.Console.IsOutputRedirected || System.Console.IsErrorRedirected) || !string.IsNullOrEmpty(Environment.GetEnvironmentVariable("NO_COLOR")) ? ConsoleTheme.None : theme ?? SystemConsoleThemes.Literate; diff --git a/src/Serilog.Sinks.Console/ConsoleLoggerConfigurationExtensions.cs b/src/Serilog.Sinks.Console/ConsoleLoggerConfigurationExtensions.cs index cca312a..44fa2d1 100644 --- a/src/Serilog.Sinks.Console/ConsoleLoggerConfigurationExtensions.cs +++ b/src/Serilog.Sinks.Console/ConsoleLoggerConfigurationExtensions.cs @@ -59,14 +59,15 @@ public static LoggerConfiguration Console( IFormatProvider? formatProvider = null, LoggingLevelSwitch? levelSwitch = null, LogEventLevel? standardErrorFromLevel = null, - ConsoleTheme? theme = null, + ConsoleTheme? theme = null, bool applyThemeToRedirectedOutput = false, object? syncRoot = null) { if (sinkConfiguration is null) throw new ArgumentNullException(nameof(sinkConfiguration)); if (outputTemplate is null) throw new ArgumentNullException(nameof(outputTemplate)); - var appliedTheme = !applyThemeToRedirectedOutput && (System.Console.IsOutputRedirected || System.Console.IsErrorRedirected) ? + // see https://no-color.org/ + var appliedTheme = !applyThemeToRedirectedOutput && (System.Console.IsOutputRedirected || System.Console.IsErrorRedirected) || !string.IsNullOrEmpty(Environment.GetEnvironmentVariable("NO_COLOR")) ? ConsoleTheme.None : theme ?? SystemConsoleThemes.Literate;