mirror of https://github.com/dotnet/tye.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
997 B
39 lines
997 B
using System.CommandLine;
|
|
using System.CommandLine.IO;
|
|
using Serilog.Core;
|
|
using Serilog.Events;
|
|
using Xunit.Abstractions;
|
|
|
|
namespace Test.Infrastructure
|
|
{
|
|
public class TestOutputLogEventSink : ILogEventSink, IConsole, IStandardStreamWriter
|
|
{
|
|
private readonly ITestOutputHelper _output;
|
|
|
|
public TestOutputLogEventSink(ITestOutputHelper output)
|
|
{
|
|
_output = output;
|
|
}
|
|
|
|
public IStandardStreamWriter Out => this;
|
|
|
|
public bool IsOutputRedirected => false;
|
|
|
|
public IStandardStreamWriter Error => this;
|
|
|
|
public bool IsErrorRedirected => false;
|
|
|
|
public bool IsInputRedirected => false;
|
|
|
|
public void Emit(LogEvent logEvent)
|
|
{
|
|
_output.WriteLine(logEvent.RenderMessage());
|
|
}
|
|
|
|
public void Write(string value)
|
|
{
|
|
// our usage of IConsole includes newlines, so strip them out.
|
|
_output.WriteLine(value.TrimEnd('\r', '\n'));
|
|
}
|
|
}
|
|
}
|
|
|