Базово работает
gRPC на отдельном порту
This commit is contained in:
52
src/Console/Logging/ConsoleLog.cs
Normal file
52
src/Console/Logging/ConsoleLog.cs
Normal file
@@ -0,0 +1,52 @@
|
||||
namespace ConsoleApp.Logging;
|
||||
|
||||
internal sealed class TeeTextWriter(TextWriter consoleWriter, TextWriter logWriter) : TextWriter
|
||||
{
|
||||
public override System.Text.Encoding Encoding => consoleWriter.Encoding;
|
||||
|
||||
public override void Write(char value)
|
||||
{
|
||||
consoleWriter.Write(value);
|
||||
logWriter.Write(value);
|
||||
}
|
||||
|
||||
public override void Write(string? value)
|
||||
{
|
||||
consoleWriter.Write(value);
|
||||
logWriter.Write(value);
|
||||
}
|
||||
|
||||
public override void WriteLine(string? value)
|
||||
{
|
||||
consoleWriter.WriteLine(value);
|
||||
logWriter.WriteLine(value);
|
||||
}
|
||||
|
||||
public override void Flush()
|
||||
{
|
||||
consoleWriter.Flush();
|
||||
logWriter.Flush();
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
logWriter.Dispose();
|
||||
}
|
||||
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
}
|
||||
|
||||
internal static class ConsoleLog
|
||||
{
|
||||
public static IDisposable Configure()
|
||||
{
|
||||
var logPath = $"test-sms-console-app-{DateTime.Now:yyyyMMdd}.log";
|
||||
var logWriter = new StreamWriter(logPath, append: true) { AutoFlush = true };
|
||||
var tee = new TeeTextWriter(global::System.Console.Out, logWriter);
|
||||
global::System.Console.SetOut(tee);
|
||||
return logWriter;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user