2 instantiations of LogEntry
Aspire.Dashboard (2)
src\Shared\ConsoleLogs\LogEntry.cs (2)
29
return new
LogEntry
51
return new
LogEntry
59 references to LogEntry
Aspire.Dashboard (33)
Components\Controls\LogViewer.razor.cs (6)
49
private Virtualize<
LogEntry
>? VirtualizeRef
59
VirtualizeHelper<
LogEntry
>.TrySetMaxItemCount(field, 10_000);
88
private ValueTask<ItemsProviderResult<
LogEntry
>> GetItems(ItemsProviderRequest r)
93
return ValueTask.FromResult(new ItemsProviderResult<
LogEntry
>(Enumerable.Empty<
LogEntry
>(), 0));
96
return ValueTask.FromResult(new ItemsProviderResult<
LogEntry
>(entries.Skip(r.StartIndex).Take(r.Count), entries.Count));
Components\Pages\ConsoleLogs.razor.cs (5)
142
private 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));
794
var
logEntry = logParser.CreateLogEntry(content, isErrorOutput, resourcePrefix);
936
_logEntryChannel.Writer.TryWrite(new LogEntryToWrite(subscription.Resource.Name,
LogEntry
.CreatePause(GetResourceName(subscription.Resource), timestamp), LineNumber: null));
945
var
lastResourceEntry = entries.LastOrDefault(e => e.ResourcePrefix == resourcePrefix);
Model\ConsoleLogsFetcher.cs (5)
29
private async Task<List<
LogEntry
>> FetchLogEntriesAsync(string resourceName, DateTime? filterDate, CancellationToken cancellationToken)
31
var logEntries = new List<
LogEntry
>();
38
var
logEntry = logParser.CreateLogEntry(logLine.Content, logLine.IsErrorMessage, resourcePrefix: null);
56
public async Task<Dictionary<string, List<
LogEntry
>>> FetchLogEntriesAsync(HashSet<string> resourceNames, CancellationToken cancellationToken)
64
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 (3)
27
public static
LogEntry
CreatePause(string resourcePrefix, DateTime startTimestamp, DateTime? endTimestamp = null)
44
public static
LogEntry
Create(DateTime? timestamp, string logMessage, bool isErrorMessage)
49
public static
LogEntry
Create(DateTime? timestamp, string logMessage, string rawLogContent, bool isErrorMessage, string? resourcePrefix)
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);
src\Shared\ConsoleLogs\SharedAIHelpers.cs (1)
625
public static string SerializeLogEntry(
LogEntry
logEntry)
Aspire.Dashboard.Components.Tests (6)
Pages\ConsoleLogsTests.cs (6)
514
var
earliestEntry = instance._logEntries.GetEntries()[0];
574
var
earliestEntry = instance._logEntries.GetEntries()[0];
771
var
pauseLog = Assert.Single(cut.Instance._logEntries.GetEntries());
793
var
pauseEntry = Assert.Single(cut.Instance._logEntries.GetEntries());
816
var
newLog = Assert.Single(logViewer.Instance.LogEntries!.GetEntries(), e => e.RawContent == resumeContent);
826
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);