diff --git a/src/Squidex.Infrastructure/Log/Internal/AnsiLogConsole.cs b/src/Squidex.Infrastructure/Log/Internal/AnsiLogConsole.cs index f5df96cea..931469ac9 100644 --- a/src/Squidex.Infrastructure/Log/Internal/AnsiLogConsole.cs +++ b/src/Squidex.Infrastructure/Log/Internal/AnsiLogConsole.cs @@ -15,8 +15,14 @@ namespace Squidex.Infrastructure.Log.Internal { public class AnsiLogConsole : IConsole { + private readonly bool logToStdError; private readonly StringBuilder outputBuilder = new StringBuilder(); + public AnsiLogConsole(bool logToStdError) + { + this.logToStdError = logToStdError; + } + public void WriteLine(SemanticLogLevel level, string message) { if (level >= SemanticLogLevel.Error) @@ -27,7 +33,14 @@ namespace Squidex.Infrastructure.Log.Internal outputBuilder.AppendLine(); outputBuilder.Clear(); - Console.Error.Write(outputBuilder.ToString()); + if (logToStdError) + { + Console.Error.Write(outputBuilder.ToString()); + } + else + { + Console.Out.WriteLine(outputBuilder.ToString()); + } } else { diff --git a/src/Squidex.Infrastructure/Log/Internal/ConsoleLogProcessor.cs b/src/Squidex.Infrastructure/Log/Internal/ConsoleLogProcessor.cs index f48a74f79..8b4045f29 100644 --- a/src/Squidex.Infrastructure/Log/Internal/ConsoleLogProcessor.cs +++ b/src/Squidex.Infrastructure/Log/Internal/ConsoleLogProcessor.cs @@ -24,11 +24,11 @@ namespace Squidex.Infrastructure.Log.Internal { if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { - console = new WindowsLogConsole(); + console = new WindowsLogConsole(false); } else { - console = new AnsiLogConsole(); + console = new AnsiLogConsole(false); } outputTask = Task.Factory.StartNew(ProcessLogQueue, this, TaskCreationOptions.LongRunning); diff --git a/src/Squidex.Infrastructure/Log/Internal/WindowsLogConsole.cs b/src/Squidex.Infrastructure/Log/Internal/WindowsLogConsole.cs index 41118b1a2..57b339ec5 100644 --- a/src/Squidex.Infrastructure/Log/Internal/WindowsLogConsole.cs +++ b/src/Squidex.Infrastructure/Log/Internal/WindowsLogConsole.cs @@ -12,6 +12,13 @@ namespace Squidex.Infrastructure.Log.Internal { public class WindowsLogConsole : IConsole { + private readonly bool logToStdError; + + public WindowsLogConsole(bool logToStdError) + { + this.logToStdError = logToStdError; + } + public void WriteLine(SemanticLogLevel level, string message) { if (level >= SemanticLogLevel.Error) @@ -20,7 +27,14 @@ namespace Squidex.Infrastructure.Log.Internal { Console.ForegroundColor = ConsoleColor.Red; - Console.Error.WriteLine(message); + if (logToStdError) + { + Console.Error.WriteLine(message); + } + else + { + Console.Out.WriteLine(message); + } } finally {