private static void EnsureRedirectOutputStream() { if (_oldConsoleOut == null) { _oldConsoleOut = Console.Out; _newWriter = new LoggingTextWriter(); _newWriter.AddTextWriter("STDOUT", Console.Out, true); Console.SetOut(_newWriter); } }
private static void StartLog(TextWriter logWriter, string command, string[] initialArgs) { ConsoleHandler._logWriter = logWriter; _newWriter.AddTextWriter("LOG", logWriter, true); _oldConsoleIn = Console.In; _newReader = new LoggingTextReader(Console.In, logWriter); Console.SetIn(_newReader); if (!string.IsNullOrEmpty(command)) { logWriter.Write(command); if ((initialArgs != null) && (initialArgs.Length > 0)) { foreach (string str in initialArgs) { logWriter.Write(" " + str); } } logWriter.WriteLine(""); } }