54 lines
1.2 KiB
C#
54 lines
1.2 KiB
C#
using System;
|
|
using System.IO;
|
|
using System.Text;
|
|
|
|
namespace URLNotesGrabberCORE
|
|
{
|
|
public class DualLogger : TextWriter
|
|
{
|
|
private TextWriter _consoleWriter;
|
|
private TextWriter _fileWriter;
|
|
|
|
public DualLogger(TextWriter consoleWriter, TextWriter fileWriter)
|
|
{
|
|
_consoleWriter = consoleWriter;
|
|
_fileWriter = fileWriter;
|
|
}
|
|
|
|
public override Encoding Encoding => _consoleWriter.Encoding;
|
|
|
|
public override void Write(char value)
|
|
{
|
|
_consoleWriter.Write(value);
|
|
_fileWriter.Write(value);
|
|
}
|
|
|
|
public override void Write(string value)
|
|
{
|
|
_consoleWriter.Write(value);
|
|
_fileWriter.Write(value);
|
|
}
|
|
|
|
public override void WriteLine(string value)
|
|
{
|
|
_consoleWriter.WriteLine(value);
|
|
_fileWriter.WriteLine(value);
|
|
}
|
|
|
|
public override void Flush()
|
|
{
|
|
_consoleWriter.Flush();
|
|
_fileWriter.Flush();
|
|
}
|
|
|
|
protected override void Dispose(bool disposing)
|
|
{
|
|
if (disposing)
|
|
{
|
|
_fileWriter.Dispose();
|
|
}
|
|
base.Dispose(disposing);
|
|
}
|
|
}
|
|
}
|