2 instantiations of LogEntry
Aspire.Dashboard (2)
src\Shared\ConsoleLogs\LogEntry.cs (2)
77
return new
LogEntry
99
return new
LogEntry
73 references to LogEntry
Aspire.Dashboard (36)
Components\Controls\LogViewer.razor.cs (9)
27
private IList<
LogEntry
>? _visibleEntriesCache;
67
private Virtualize<
LogEntry
>? VirtualizeRef
77
VirtualizeHelper<
LogEntry
>.TrySetMaxItemCount(field, 10_000);
142
private ValueTask<ItemsProviderResult<
LogEntry
>> GetItems(ItemsProviderRequest r)
145
return ValueTask.FromResult(new ItemsProviderResult<
LogEntry
>(entries.Skip(r.StartIndex).Take(r.Count), entries.Count));
148
private IList<
LogEntry
> GetVisibleEntries()
158
return _visibleEntriesCache = Array.Empty<
LogEntry
>();
170
private bool MatchesFilter(
LogEntry
entry, string filterText)
180
private string GetSearchableText(
LogEntry
entry)
Components\Pages\ConsoleLogs.razor.cs (5)
137
private record struct LogEntryToWrite(string ResourceName,
LogEntry
LogEntry, int? LineNumber);
1103
_logEntryChannel.Writer.TryWrite(new LogEntryToWrite(subscription.Resource.Name,
LogEntry
.CreatePause(GetResourceName(subscription.Resource), priorPause.Start, priorPause.End), LineNumber: null));
1121
var
logEntry = logParser.CreateLogEntry(content, isErrorOutput, resourcePrefix);
1276
_logEntryChannel.Writer.TryWrite(new LogEntryToWrite(subscription.Resource.Name,
LogEntry
.CreatePause(GetResourceName(subscription.Resource), timestamp), LineNumber: null));
1285
var
lastResourceEntry = entries.LastOrDefault(e => e.ResourcePrefix == resourcePrefix);
Model\ConsoleLogsFetcher.cs (5)
32
private async Task<List<
LogEntry
>> FetchLogEntriesAsync(string resourceName, DateTime? filterDate, CancellationToken cancellationToken)
34
var logEntries = new List<
LogEntry
>();
44
var
logEntry = logParser.CreateLogEntry(logLine.Content, logLine.IsErrorMessage, resourcePrefix: null);
62
public async Task<Dictionary<string, List<
LogEntry
>>> FetchLogEntriesAsync(HashSet<string> resourceNames, CancellationToken cancellationToken)
70
var result = new Dictionary<string, List<
LogEntry
>>(StringComparer.OrdinalIgnoreCase);
src\Shared\ConsoleLogs\LogEntries.cs (8)
19
private readonly CircularBuffer<
LogEntry
> _logEntries = new(maximumEntryCount);
27
public IList<
LogEntry
> GetEntries() => _logEntries;
45
foreach (
var
pauseEntry in pauseEntries)
60
public bool ProcessPauseFilters(
LogEntry
logEntry)
83
public void InsertSorted(
LogEntry
logLine)
99
var
entry = _logEntries[i];
114
private void InsertSortedCore(
LogEntry
logEntry)
126
var
current = _logEntries[rowIndex];
src\Shared\ConsoleLogs\LogEntry.cs (4)
75
public static
LogEntry
CreatePause(string resourcePrefix, DateTime startTimestamp, DateTime? endTimestamp = null)
92
public static
LogEntry
Create(DateTime? timestamp, string logMessage, bool isErrorMessage)
97
public static
LogEntry
Create(DateTime? timestamp, string logMessage, string rawLogContent, bool isErrorMessage, string? resourcePrefix)
123
public static LogEntryKey Create(
LogEntry
logEntry)
src\Shared\ConsoleLogs\LogEntrySerializer.cs (2)
16
public static void WriteLogEntriesToStream(IList<
LogEntry
> entries, Stream stream)
20
foreach (
var
entry in entries)
src\Shared\ConsoleLogs\LogParser.cs (3)
20
public
LogEntry
CreateLogEntry(string rawText, bool isErrorOutput, string? resourcePrefix)
70
var
logEntry =
LogEntry
.Create(timestamp, content, rawText, isErrorOutput, resourcePrefix);
Aspire.Dashboard.Components.Tests (17)
Controls\LogViewerTests.cs (10)
39
logEntries.InsertSorted(
LogEntry
.Create(
169
var
pauseEntry =
LogEntry
.CreatePause("resource", pauseStart, pauseEnd);
173
logEntries.InsertSorted(
LogEntry
.Create(
206
logEntries.InsertSorted(
LogEntry
.Create(
300
logEntries.InsertSorted(
LogEntry
.Create(
323
logEntries.InsertSorted(
LogEntry
.Create(
355
logEntries.InsertSorted(
LogEntry
.Create(
382
logEntries.InsertSorted(
LogEntry
.Create(
418
logEntries.InsertSorted(
LogEntry
.Create(
Pages\ConsoleLogsTests.cs (7)
647
var
earliestEntry = instance._logEntries.GetEntries()[0];
753
var
earliestEntry = instance._logEntries.GetEntries()[0];
795
var
logEntry = Assert.Single(cut.Instance._logEntries.GetEntries());
1044
var
pauseLog = Assert.Single(cut.Instance._logEntries.GetEntries());
1070
var
pauseEntry = Assert.Single(cut.Instance._logEntries.GetEntries());
1093
var
newLog = Assert.Single(logViewer.Instance.LogEntries!.GetEntries(), e => e.RawContent == resumeContent);
1103
foreach (
var
logEntry in logEntries.GetEntries())
Aspire.Dashboard.Tests (20)
ConsoleLogsTests\LogEntriesTests.cs (20)
21
var
logEntry = logParser.CreateLogEntry(content, isError, resourcePrefix: null);
35
var
logEntry1 = logParser.CreateLogEntry("Test", isErrorOutput: false, resourcePrefix: null);
39
var
logEntry2 = logParser.CreateLogEntry("2024-08-19T06:12:01.000Z Test", isErrorOutput: false, resourcePrefix: null);
46
var
logEntry3 = logParser.CreateLogEntry("2024-08-19T06:12:02.000Z Test", isErrorOutput: false, resourcePrefix: null);
63
logEntries.InsertSorted(
LogEntry
.CreatePause(
69
var
pauseEntry =
LogEntry
.CreatePause("resource-name", new DateTime(2024, 1, 1, 0, 0, 0, DateTimeKind.Utc));
79
var
entry = Assert.Single(logEntries.GetEntries());
94
var
entry = Assert.Single(logEntries.GetEntries());
243
logEntries.InsertSorted(
LogEntry
.Create(timestamp.AddSeconds(1), "1", isErrorMessage: false));
244
logEntries.InsertSorted(
LogEntry
.Create(timestamp.AddSeconds(3), "3", isErrorMessage: false));
245
logEntries.InsertSorted(
LogEntry
.Create(timestamp.AddSeconds(2), "2", isErrorMessage: false));
264
logEntries.InsertSorted(
LogEntry
.Create(timestamp.AddSeconds(1), "1", isErrorMessage: false));
265
logEntries.InsertSorted(
LogEntry
.Create(timestamp.AddSeconds(2), "2", isErrorMessage: false));
266
logEntries.InsertSorted(
LogEntry
.Create(timestamp.AddSeconds(3), "3", isErrorMessage: false));
284
logEntries.InsertSorted(
LogEntry
.Create(timestamp.AddSeconds(1), "1", isErrorMessage: false));
285
logEntries.InsertSorted(
LogEntry
.Create(timestamp.AddSeconds(3), "3", isErrorMessage: false));
286
logEntries.InsertSorted(
LogEntry
.Create(timestamp.AddSeconds(2), "2", isErrorMessage: false));
302
var
entry = parser.CreateLogEntry("\x1b[36mhttps://www.example.com\u001b[0m", isErrorOutput: false, resourcePrefix: null);
317
var
entry = parser.CreateLogEntry("\u001b[40m\u001b[32minfo\u001b[39m\u001b[22m\u001b[49m: LoggerName", isErrorOutput: false, resourcePrefix: null);