Browse Source

No stderror

pull/65/head
Sebastian Stehle 9 years ago
parent
commit
dcdc17d38c
  1. 13
      src/Squidex.Infrastructure/Log/Internal/AnsiLogConsole.cs
  2. 4
      src/Squidex.Infrastructure/Log/Internal/ConsoleLogProcessor.cs
  3. 14
      src/Squidex.Infrastructure/Log/Internal/WindowsLogConsole.cs

13
src/Squidex.Infrastructure/Log/Internal/AnsiLogConsole.cs

@ -15,8 +15,14 @@ namespace Squidex.Infrastructure.Log.Internal
{ {
public class AnsiLogConsole : IConsole public class AnsiLogConsole : IConsole
{ {
private readonly bool logToStdError;
private readonly StringBuilder outputBuilder = new StringBuilder(); private readonly StringBuilder outputBuilder = new StringBuilder();
public AnsiLogConsole(bool logToStdError)
{
this.logToStdError = logToStdError;
}
public void WriteLine(SemanticLogLevel level, string message) public void WriteLine(SemanticLogLevel level, string message)
{ {
if (level >= SemanticLogLevel.Error) if (level >= SemanticLogLevel.Error)
@ -27,9 +33,16 @@ namespace Squidex.Infrastructure.Log.Internal
outputBuilder.AppendLine(); outputBuilder.AppendLine();
outputBuilder.Clear(); outputBuilder.Clear();
if (logToStdError)
{
Console.Error.Write(outputBuilder.ToString()); Console.Error.Write(outputBuilder.ToString());
} }
else else
{
Console.Out.WriteLine(outputBuilder.ToString());
}
}
else
{ {
Console.WriteLine(message); Console.WriteLine(message);
} }

4
src/Squidex.Infrastructure/Log/Internal/ConsoleLogProcessor.cs

@ -24,11 +24,11 @@ namespace Squidex.Infrastructure.Log.Internal
{ {
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
{ {
console = new WindowsLogConsole(); console = new WindowsLogConsole(false);
} }
else else
{ {
console = new AnsiLogConsole(); console = new AnsiLogConsole(false);
} }
outputTask = Task.Factory.StartNew(ProcessLogQueue, this, TaskCreationOptions.LongRunning); outputTask = Task.Factory.StartNew(ProcessLogQueue, this, TaskCreationOptions.LongRunning);

14
src/Squidex.Infrastructure/Log/Internal/WindowsLogConsole.cs

@ -12,6 +12,13 @@ namespace Squidex.Infrastructure.Log.Internal
{ {
public class WindowsLogConsole : IConsole public class WindowsLogConsole : IConsole
{ {
private readonly bool logToStdError;
public WindowsLogConsole(bool logToStdError)
{
this.logToStdError = logToStdError;
}
public void WriteLine(SemanticLogLevel level, string message) public void WriteLine(SemanticLogLevel level, string message)
{ {
if (level >= SemanticLogLevel.Error) if (level >= SemanticLogLevel.Error)
@ -20,8 +27,15 @@ namespace Squidex.Infrastructure.Log.Internal
{ {
Console.ForegroundColor = ConsoleColor.Red; Console.ForegroundColor = ConsoleColor.Red;
if (logToStdError)
{
Console.Error.WriteLine(message); Console.Error.WriteLine(message);
} }
else
{
Console.Out.WriteLine(message);
}
}
finally finally
{ {
Console.ResetColor(); Console.ResetColor();

Loading…
Cancel
Save