private string[] GetMessageLines( CompetitionState competitionState, Func <IMessage, bool> severityFilter, bool fromAllRuns) { var result = from message in competitionState.GetMessages() where severityFilter(message) && ShouldReport(message, competitionState.RunNumber, fromAllRuns) orderby message.RunNumber, message.RunMessageNumber select $" * Run #{message.RunNumber}: {message.MessageText}"; return(result.ToArray()); }
private void ProcessRunComplete( [NotNull] CompetitionState competitionState) { var logger = competitionState.Logger; var summary = competitionState.LastRunSummary; if (logger == null || summary == null) { return; } logger.WriteVerbose($"{competitionState.BenchmarkType.Name} completed."); if (competitionState.Options.RunOptions.DetailedLogging) { var messages = competitionState.GetMessages(); if (messages.Any()) { logger.WriteSeparatorLine("All messages"); foreach (var message in messages) { logger.LogMessage(message); } } else { logger.WriteSeparatorLine(); logger.WriteVerbose("No messages in run."); } logger.WriteLine(); } else { using (FilteringLogger.BeginLogImportant(summary.Config)) { var summaryLogger = DumpSummaryToHostLogger ? logger : new CompositeLogger( summary.Config .GetLoggers() .Where(l => !(l is HostLogger)) .ToArray()); // Dumping the benchmark summary summaryLogger.WriteSeparatorLine("Summary"); MarkdownExporter.Console.ExportToLog(summary, summaryLogger); logger.WriteLine(); } } }
private void ProcessRunComplete( [NotNull] ICompetitionConfig competitionConfig, [NotNull] CompetitionState competitionState) { var logger = competitionState.Logger; var summary = competitionState.LastRunSummary; if (logger == null) { return; } if (competitionConfig.DetailedLogging) { var messages = competitionState.GetMessages(); if (messages.Any()) { logger.WriteSeparatorLine("All messages"); foreach (var message in messages) { logger.LogMessage(message); } } else { logger.WriteSeparatorLine(); logger.WriteLineInfo("{LogVerbosePrefix} No messages in run."); } } else if (summary != null) { using (Loggers.HostLogger.BeginLogImportant(summary.Config)) { var summarylogger = DumpSummaryToHostLogger ? logger : new CompositeLogger( summary.Config .GetLoggers() .Where(l => !(l is HostLogger)) .ToArray()); // Dumping the benchmark results to console summarylogger.WriteSeparatorLine("Summary"); MarkdownExporter.Console.ExportToLog(summary, summarylogger); } } }