/// <summary> /// Initializes a new instance of the <see cref="TraceOutputViewModel" /> class. /// </summary> /// <param name="dispatcherService">The dispatcher service.</param> /// <exception cref="ArgumentNullException">The <paramref name="dispatcherService"/> is <c>null</c>.</exception> public TraceOutputViewModel(IDispatcherService dispatcherService) { Argument.IsNotNull("dispatcherService", dispatcherService); _dispatcherService = dispatcherService; CopyToClipboard = new Command(OnCopyToClipboardExecute, OnCopyToClipboardCanExecute); ClearOutput = new Command(OnClearOutputExecute); _traceListener = new OutputTraceListener(); Trace.Listeners.Add(_traceListener); _traceListener.ActiveTraceLevel = TraceLevel.Verbose; _traceListener.WrittenLine += WriteLine; TraceEntryCollection = new ObservableCollection<TraceEntry>(); }
/// <summary> /// Initializes a new instance of the <see cref="TraceOutputViewModel" /> class. /// </summary> /// <param name="dispatcherService">The dispatcher service.</param> /// <exception cref="ArgumentNullException">The <paramref name="dispatcherService"/> is <c>null</c>.</exception> public TraceOutputViewModel(IDispatcherService dispatcherService) { Argument.IsNotNull("dispatcherService", dispatcherService); _dispatcherService = dispatcherService; CopyToClipboard = new Command(OnCopyToClipboardExecute, OnCopyToClipboardCanExecute); ClearOutput = new Command(OnClearOutputExecute); _traceListener = new OutputTraceListener(); Trace.Listeners.Add(_traceListener); _traceListener.ActiveTraceLevel = TraceLevel.Verbose; _traceListener.WrittenLine += WriteLine; TraceEntryCollection = new ObservableCollection <TraceEntry>(); }
private void ConsoleNeeded(bool redirectLogs = false) { if (redirectLogs) { var listener = new OutputTraceListener(); listener.Other = LogViewTraceListener.Actual; LogViewTraceListener.Actual = listener; } if (Kernel32.GetConsoleWindow() == IntPtr.Zero) { var parentPid = GetParentProcessId(Process.GetCurrentProcess()); Kernel32.AttachConsole((uint)parentPid); if (Kernel32.GetConsoleWindow() == IntPtr.Zero) { Kernel32.AllocConsole(); } } Terminal.WriteLine(); }