/// <summary> /// Writes the log. /// </summary> /// <param name="log">The log.</param> /// <param name="defaultMode">The default mode.</param> private void WriteLog(string log, LogOutputMode defaultMode) { if (log == null) { return; } var mode = this.OutputMode == LogOutputMode.Default ? defaultMode : this.OutputMode; switch (mode) { case LogOutputMode.Lines: case LogOutputMode.Values: this.WriteVerbose("Splitting log into lines"); var lines = log.Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries); if (mode == LogOutputMode.Lines) { this.WriteObject(lines, true); } else { this.WriteVerbose("Splitting log into values"); this.WriteObject(lines.Select(l => CCLogLine.Parse(l)), true); } break; default: this.WriteVerbose("Outputting raw log"); this.WriteObject(log, false); break; } }