Group repeated client logs for faster diagnosis
TaxBaik CI/CD / build-and-deploy (push) Has been cancelled
TaxBaik CI/CD / build-and-deploy (push) Has been cancelled
This commit is contained in:
@@ -23,6 +23,24 @@
|
||||
<div><strong>Info</strong> @_summary.InfoCount</div>
|
||||
</div>
|
||||
}
|
||||
@if (_groups.Count > 0)
|
||||
{
|
||||
<div class="admin-log-group-list">
|
||||
@foreach (var group in _groups)
|
||||
{
|
||||
<article class="admin-log-group-item">
|
||||
<div class="admin-log-item-header">
|
||||
<strong>@group.Count</strong>
|
||||
<span>@group.Level</span>
|
||||
<span>@group.Source</span>
|
||||
<span>@group.Route</span>
|
||||
</div>
|
||||
<p>@group.Message</p>
|
||||
<small>@group.LastSeen</small>
|
||||
</article>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
<div class="admin-log-filter-row">
|
||||
<input class="mud-input-slot" placeholder="검색어" @bind="_query" @bind:event="oninput" />
|
||||
<select class="mud-input-slot" @bind="_level">
|
||||
@@ -63,6 +81,7 @@
|
||||
|
||||
@code {
|
||||
private readonly List<ClientLogDto> _entries = [];
|
||||
private readonly List<ClientLogGroupDto> _groups = [];
|
||||
private bool _loading = true;
|
||||
private string _query = "";
|
||||
private string _level = "";
|
||||
@@ -77,16 +96,22 @@
|
||||
{
|
||||
_loading = true;
|
||||
_entries.Clear();
|
||||
_groups.Clear();
|
||||
|
||||
try
|
||||
{
|
||||
_summary = await Http.GetFromJsonAsync<ClientLogSummaryDto>("/taxbaik/api/client-logs/summary");
|
||||
var url = $"/taxbaik/api/client-logs/recent?q={Uri.EscapeDataString(_query ?? string.Empty)}&level={Uri.EscapeDataString(_level ?? string.Empty)}";
|
||||
var result = await Http.GetFromJsonAsync<List<ClientLogDto>>(url);
|
||||
var grouped = await Http.GetFromJsonAsync<List<ClientLogGroupDto>>("/taxbaik/api/client-logs/groups");
|
||||
if (result is not null)
|
||||
{
|
||||
_entries.AddRange(result);
|
||||
}
|
||||
if (grouped is not null)
|
||||
{
|
||||
_groups.AddRange(grouped);
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
@@ -114,4 +139,15 @@
|
||||
public int WarningCount { get; set; }
|
||||
public int InfoCount { get; set; }
|
||||
}
|
||||
|
||||
private sealed class ClientLogGroupDto
|
||||
{
|
||||
public string? Key { get; set; }
|
||||
public string? Level { get; set; }
|
||||
public string? Source { get; set; }
|
||||
public string? Route { get; set; }
|
||||
public string? Message { get; set; }
|
||||
public int Count { get; set; }
|
||||
public string? LastSeen { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user