private void OnOutputDataReceived(object sender, DataReceivedEventArgs e) { if (e.Data != null) { string msg = e.Data; if (LanguageWorkerChannelUtilities.IsLanguageWorkerConsoleLog(msg)) { msg = LanguageWorkerChannelUtilities.RemoveLogPrefix(msg); _workerChannelLogger?.LogInformation(msg); } else { _consoleLogSource?.Log(msg); } } }
private void OnErrorDataReceived(object sender, DataReceivedEventArgs e) { // TODO: per language stdout/err parser? if (e.Data != null) { string msg = e.Data; if (msg.IndexOf("warn", StringComparison.OrdinalIgnoreCase) > -1) { if (LanguageWorkerChannelUtilities.IsLanguageWorkerConsoleLog(msg)) { msg = LanguageWorkerChannelUtilities.RemoveLogPrefix(msg); _workerChannelLogger?.LogWarning(msg); } else { _consoleLogSource?.Log(msg); } } else if ((msg.IndexOf("error", StringComparison.OrdinalIgnoreCase) > -1) || (msg.IndexOf("fail", StringComparison.OrdinalIgnoreCase) > -1) || (msg.IndexOf("severe", StringComparison.OrdinalIgnoreCase) > -1)) { if (LanguageWorkerChannelUtilities.IsLanguageWorkerConsoleLog(msg)) { msg = LanguageWorkerChannelUtilities.RemoveLogPrefix(msg); _workerChannelLogger?.LogError(msg); } else { _consoleLogSource?.Log(msg); } _processStdErrDataQueue = LanguageWorkerChannelUtilities.AddStdErrMessage(_processStdErrDataQueue, Sanitizer.Sanitize(msg)); } else { if (LanguageWorkerChannelUtilities.IsLanguageWorkerConsoleLog(msg)) { msg = LanguageWorkerChannelUtilities.RemoveLogPrefix(msg); _workerChannelLogger?.LogInformation(msg); } else { _consoleLogSource?.Log(msg); } } } }