2 instantiations of LogEntry
Aspire.Dashboard (2)
src\Shared\ConsoleLogs\LogEntry.cs (2)
29return new LogEntry 51return new LogEntry
59 references to LogEntry
Aspire.Dashboard (33)
Components\Controls\LogViewer.razor.cs (6)
49private Virtualize<LogEntry>? VirtualizeRef 59VirtualizeHelper<LogEntry>.TrySetMaxItemCount(field, 10_000); 88private ValueTask<ItemsProviderResult<LogEntry>> GetItems(ItemsProviderRequest r) 93return ValueTask.FromResult(new ItemsProviderResult<LogEntry>(Enumerable.Empty<LogEntry>(), 0)); 96return ValueTask.FromResult(new ItemsProviderResult<LogEntry>(entries.Skip(r.StartIndex).Take(r.Count), entries.Count));
Components\Pages\ConsoleLogs.razor.cs (5)
142private record struct LogEntryToWrite(string ResourceName, LogEntry LogEntry, int? LineNumber); 776_logEntryChannel.Writer.TryWrite(new LogEntryToWrite(subscription.Resource.Name, LogEntry.CreatePause(GetResourceName(subscription.Resource), priorPause.Start, priorPause.End), LineNumber: null)); 794var logEntry = logParser.CreateLogEntry(content, isErrorOutput, resourcePrefix); 936_logEntryChannel.Writer.TryWrite(new LogEntryToWrite(subscription.Resource.Name, LogEntry.CreatePause(GetResourceName(subscription.Resource), timestamp), LineNumber: null)); 945var lastResourceEntry = entries.LastOrDefault(e => e.ResourcePrefix == resourcePrefix);
Model\ConsoleLogsFetcher.cs (5)
29private async Task<List<LogEntry>> FetchLogEntriesAsync(string resourceName, DateTime? filterDate, CancellationToken cancellationToken) 31var logEntries = new List<LogEntry>(); 38var logEntry = logParser.CreateLogEntry(logLine.Content, logLine.IsErrorMessage, resourcePrefix: null); 56public async Task<Dictionary<string, List<LogEntry>>> FetchLogEntriesAsync(HashSet<string> resourceNames, CancellationToken cancellationToken) 64var result = new Dictionary<string, List<LogEntry>>(StringComparer.OrdinalIgnoreCase);
src\Shared\ConsoleLogs\LogEntries.cs (8)
19private readonly CircularBuffer<LogEntry> _logEntries = new(maximumEntryCount); 27public IList<LogEntry> GetEntries() => _logEntries; 45foreach (var pauseEntry in pauseEntries) 60public bool ProcessPauseFilters(LogEntry logEntry) 83public void InsertSorted(LogEntry logLine) 99var entry = _logEntries[i]; 114private void InsertSortedCore(LogEntry logEntry) 126var current = _logEntries[rowIndex];
src\Shared\ConsoleLogs\LogEntry.cs (3)
27public static LogEntry CreatePause(string resourcePrefix, DateTime startTimestamp, DateTime? endTimestamp = null) 44public static LogEntry Create(DateTime? timestamp, string logMessage, bool isErrorMessage) 49public static LogEntry Create(DateTime? timestamp, string logMessage, string rawLogContent, bool isErrorMessage, string? resourcePrefix)
src\Shared\ConsoleLogs\LogEntrySerializer.cs (2)
16public static void WriteLogEntriesToStream(IList<LogEntry> entries, Stream stream) 20foreach (var entry in entries)
src\Shared\ConsoleLogs\LogParser.cs (3)
20public LogEntry CreateLogEntry(string rawText, bool isErrorOutput, string? resourcePrefix) 70var logEntry = LogEntry.Create(timestamp, content, rawText, isErrorOutput, resourcePrefix);
src\Shared\ConsoleLogs\SharedAIHelpers.cs (1)
625public static string SerializeLogEntry(LogEntry logEntry)
Aspire.Dashboard.Components.Tests (6)
Pages\ConsoleLogsTests.cs (6)
514var earliestEntry = instance._logEntries.GetEntries()[0]; 574var earliestEntry = instance._logEntries.GetEntries()[0]; 771var pauseLog = Assert.Single(cut.Instance._logEntries.GetEntries()); 793var pauseEntry = Assert.Single(cut.Instance._logEntries.GetEntries()); 816var newLog = Assert.Single(logViewer.Instance.LogEntries!.GetEntries(), e => e.RawContent == resumeContent); 826foreach (var logEntry in logEntries.GetEntries())
Aspire.Dashboard.Tests (20)
ConsoleLogsTests\LogEntriesTests.cs (20)
21var logEntry = logParser.CreateLogEntry(content, isError, resourcePrefix: null); 35var logEntry1 = logParser.CreateLogEntry("Test", isErrorOutput: false, resourcePrefix: null); 39var logEntry2 = logParser.CreateLogEntry("2024-08-19T06:12:01.000Z Test", isErrorOutput: false, resourcePrefix: null); 46var logEntry3 = logParser.CreateLogEntry("2024-08-19T06:12:02.000Z Test", isErrorOutput: false, resourcePrefix: null); 63logEntries.InsertSorted(LogEntry.CreatePause( 69var pauseEntry = LogEntry.CreatePause("resource-name", new DateTime(2024, 1, 1, 0, 0, 0, DateTimeKind.Utc)); 79var entry = Assert.Single(logEntries.GetEntries()); 94var entry = Assert.Single(logEntries.GetEntries()); 243logEntries.InsertSorted(LogEntry.Create(timestamp.AddSeconds(1), "1", isErrorMessage: false)); 244logEntries.InsertSorted(LogEntry.Create(timestamp.AddSeconds(3), "3", isErrorMessage: false)); 245logEntries.InsertSorted(LogEntry.Create(timestamp.AddSeconds(2), "2", isErrorMessage: false)); 264logEntries.InsertSorted(LogEntry.Create(timestamp.AddSeconds(1), "1", isErrorMessage: false)); 265logEntries.InsertSorted(LogEntry.Create(timestamp.AddSeconds(2), "2", isErrorMessage: false)); 266logEntries.InsertSorted(LogEntry.Create(timestamp.AddSeconds(3), "3", isErrorMessage: false)); 284logEntries.InsertSorted(LogEntry.Create(timestamp.AddSeconds(1), "1", isErrorMessage: false)); 285logEntries.InsertSorted(LogEntry.Create(timestamp.AddSeconds(3), "3", isErrorMessage: false)); 286logEntries.InsertSorted(LogEntry.Create(timestamp.AddSeconds(2), "2", isErrorMessage: false)); 302var entry = parser.CreateLogEntry("\x1b[36mhttps://www.example.com\u001b[0m", isErrorOutput: false, resourcePrefix: null); 317var entry = parser.CreateLogEntry("\u001b[40m\u001b[32minfo\u001b[39m\u001b[22m\u001b[49m: LoggerName", isErrorOutput: false, resourcePrefix: null);