2 instantiations of LogEntry
Aspire.Dashboard (2)
src\Shared\ConsoleLogs\LogEntry.cs (2)
29return new LogEntry 51return new LogEntry
68 references to LogEntry
Aspire.Dashboard (42)
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)
143private record struct LogEntryToWrite(string ResourceName, LogEntry LogEntry, int? LineNumber); 777_logEntryChannel.Writer.TryWrite(new LogEntryToWrite(subscription.Resource.Name, LogEntry.CreatePause(GetResourceName(subscription.Resource), priorPause.Start, priorPause.End), LineNumber: null)); 795var logEntry = logParser.CreateLogEntry(content, isErrorOutput, resourcePrefix); 937_logEntryChannel.Writer.TryWrite(new LogEntryToWrite(subscription.Resource.Name, LogEntry.CreatePause(GetResourceName(subscription.Resource), timestamp), LineNumber: null)); 946var lastResourceEntry = entries.LastOrDefault(e => e.ResourcePrefix == resourcePrefix);
Components_Controls_LogViewer_razor.g.cs (7)
260LogEntry 266__builder.AddComponentParameter(9, nameof(global::Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize<LogEntry>. 274), (global::Microsoft.AspNetCore.Components.Web.Virtualization.ItemsProviderDelegate<LogEntry>)( 283__builder.AddComponentParameter(10, nameof(global::Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize<LogEntry>. 300__builder.AddComponentParameter(11, nameof(global::Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize<LogEntry>. 317__builder.AddAttribute(12, "ChildContent", (global::Microsoft.AspNetCore.Components.RenderFragment<LogEntry>)((context) => (__builder2) => { 783= (global::Microsoft.AspNetCore.Components.Web.Virtualization.Virtualize<LogEntry>)__value;
ConsoleLogs\LogEntrySerializer.cs (2)
18public static void WriteLogEntriesToStream(IList<LogEntry> entries, Stream stream) 22foreach (var entry in entries)
Mcp\AspireResourceMcpTools.cs (1)
118var (trimmedItems, limitMessage) = SharedAIHelpers.GetLimitFromEndWithSummary<LogEntry>(
Model\Assistant\AssistantChatDataContext.cs (1)
267var (trimmedItems, limitMessage) = SharedAIHelpers.GetLimitFromEndWithSummary<LogEntry>(
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\LogParser.cs (3)
18public LogEntry CreateLogEntry(string rawText, bool isErrorOutput, string? resourcePrefix) 65var logEntry = LogEntry.Create(timestamp, content, rawText, isErrorOutput, resourcePrefix);
src\Shared\ConsoleLogs\SharedAIHelpers.cs (1)
32public 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);