mirror of
https://github.com/Ellpeck/ExtremelySimpleLogger.git
synced 2024-11-25 02:58:34 +01:00
allow writing to Console.Error using ConsoleSink
This commit is contained in:
parent
b9b6872949
commit
fff9f16068
1 changed files with 13 additions and 3 deletions
|
@ -1,9 +1,10 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.IO;
|
||||||
|
|
||||||
namespace ExtremelySimpleLogger {
|
namespace ExtremelySimpleLogger {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A <see cref="Sink"/> that writes log output to <see cref="Console.Out"/>.
|
/// A <see cref="Sink"/> that writes log output to <see cref="Console.Out"/> or <see cref="Console.Error"/>.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class ConsoleSink : Sink {
|
public class ConsoleSink : Sink {
|
||||||
|
|
||||||
|
@ -17,6 +18,15 @@ namespace ExtremelySimpleLogger {
|
||||||
{LogLevel.Fatal, ConsoleColor.DarkRed}
|
{LogLevel.Fatal, ConsoleColor.DarkRed}
|
||||||
};
|
};
|
||||||
private readonly object locker = new object();
|
private readonly object locker = new object();
|
||||||
|
private readonly TextWriter console;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Creates a new console sink with the given settings.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="error">Whether to log to <see cref="Console.Error"/> instead of <see cref="Console.Out"/>.</param>
|
||||||
|
public ConsoleSink(bool error = false) {
|
||||||
|
this.console = error ? Console.Error : Console.Out;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Sets the <see cref="ConsoleColor"/> that text with the given <see cref="LogLevel"/> should be displayed with.
|
/// Sets the <see cref="ConsoleColor"/> that text with the given <see cref="LogLevel"/> should be displayed with.
|
||||||
|
@ -57,11 +67,11 @@ namespace ExtremelySimpleLogger {
|
||||||
var color = this.GetColor(level);
|
var color = this.GetColor(level);
|
||||||
if (color.HasValue)
|
if (color.HasValue)
|
||||||
Console.ForegroundColor = color.Value;
|
Console.ForegroundColor = color.Value;
|
||||||
Console.WriteLine(s);
|
this.console.WriteLine(s);
|
||||||
if (color.HasValue)
|
if (color.HasValue)
|
||||||
Console.ResetColor();
|
Console.ResetColor();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue