示例#1
0
 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);
         }
     }
 }
示例#2
0
 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);
             }
         }
     }
 }