наследуемся от StreamWriter -> назначаем его выводом консоли.
примерно так
Код:
internal class ConsoleWriter : StreamWriter {
public static ConsoleWriter Instance = new ConsoleWriter();
public ConsoleWriter() : base(new MemoryStream()) {
AutoFlush = true;
if (base.BaseStream.Position != 0) {
base.WriteLine();
base.WriteLine();
}
}
public override void WriteLine(string value) {
_Write(value + Environment.NewLine);
}
public override void WriteLine(string format, params object[] arg) {
_Write(string.Format(format, arg) + Environment.NewLine);
}
public override void WriteLine() {
_Write(Environment.NewLine);
}
public override void Write(string value) {
_Write(value);
}
public override void Write(string format, params object[] arg) {
_Write(string.Format(format, arg));
}
private void _Write(string text) {
File.AppendAllText(@"C:\log.txt", text);
}
}
Код:
Console.SetOut(ConsoleWriter.Instance);